Skripting und der Umgang mit Dateien

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

The_Akki

Benutzer
Registriert
07. Feb. 2009
Beiträge
11
Reaktionspunkte
0
Punkte
0
Hallo,

ich habe in einen Beitrag (StoreBackup, Perl, große Dateien) schon über meine Probleme berichtet. Außerdem habe ich die gefundene Lösung an Synology mit der Bitte um Abhilfe geschickt.

Da ich hier im Forum leider wenig Feedback bekommen habe stellen sich doch für mich die Fragen:
  • Skriptet ihr in Perl?
  • Skripted ihr Dateihandling? In welcher Sprache skripted ihr und was ist der Umfang der Dateioperationen?
  • ...

Ich gehe davon aus, dass ihr auch große Datein habt, die die 2GB-Grenze überschreiten.

Grüße
The_Akki
 
Ok, also ist es eine Seltenheit, dass das Backup-Tool in Perl geschrieben ist.

Über Timeouts habe ich nie nachgedacht. Das Tool läuft bei mir als CrownJob. Ich denke das ist die Laufzeit irrelevant. Die Perl-Runtime muss ja hoffentlich nicht konfiguriert werden, oder? PHP hat ja eine Timeout-Zeit im Apache konfiguriert. Bei Perl als Standalone habe ich hoffentlich keine Seiteneffekte.

Gruß
The_Akki
 
Hallo The_Akki,

mehrere Vorschläge / Fragen.

1.
Vielleicht kannst Du die Anforderung an ein perl, dass große Integer unterstützt, in einen Bug-Tracker eingeben!?

2.
Perl ist (jedenfalls auf einem Standard-System) sehr einfach zu übersetzen und kann auch unterschiedlich kompiliert auf demselben System vorhanden sein, z.B. indem man es nach /opt/perl legt. Wie einfach / schwierig das auf Deiner NAS Box ist, weiß ich aber leider nicht.

3.
Falls Dateien im Backup größer 2GB das Problem sind, kannst Du große Dateien bei storeBackup mittels "blocked" files (über eine Regel) auch kleinhacken. Vielleicht läuft dann z.B. storeBackupUpdateBackup.pl auf dem NAS lokal und Du könntest für die Sicherung von einem anderen Rechner lateLinks und z.B. die Replikation lokal nutzen. "Vielleicht" deshalb, weil in der zentralen md5-Summen Datei (.md5CheckSum) auch die Gesamt-Größe der zerhackten Datei gespeichert wird. Die wird aber (glaube ich) von storeBackupUpdateBackup.pl (und z.B. storeBackupCheckBackup.pl) nicht weiter ausgewertet.

4.
Was für Dateien größer als 2GB hast Du denn? Enden die z.B. immer auf .iso (oder anderes)? Dann könnte es gehen, die mit einer Regel vom lokalen Backup auszunehmen und irgendwie anders zu sichern. ("Könnte", weil in der Regel '$size' falsch wäre, das dürfte aber nichts ausmachen, wenn Du die Dateien über den Namen, Pfad oder die userID ausnimmst. Oder wenn möglich ganze Verzeichnisse auslassen.) Deduplikation wird bei den Dateien wahrscheinlich nicht so relevant sein!?

5.
Falls Du einen anderen Rechner hast, kannst Du natürlich auch diesen per NFS / Samba auf das NAS lesend und schreibend zugreifen lassen. Nachteil ist natürlich, dass der andere Rechner dann laufen muss, was eine automatischen Sicherung per cron nicht gerade praktikabel machen dürfte.


Die "vielleichts" oben heißen, Du müsstest es ausprobieren. Ich habe keine 32 Bit Kiste mehr und noch weniger ein entsprechendes perl. :p

:) Grüße, hjclaes
 
Ich Scripte jeweils mit Shell resp Bash. Damit geht fast alles und meiner Erfahrung nach mit den wenigsten Zeilen Code :-)
 
Hallo hjclaes,
Danke für die reichlichen Antworten.

1) Ich habe das Problem an den Synology Support gemeldet. Aber da kam leider nur die Antwort, dass es an die Entwicklungsabteilung weiter geleitet wird. Welche Alternativen stehen sonst noch zur Verfügung?

2) Da ich mit IPKGs und der DS213+ bezüglich unaufgelösten Symbolen der LibC relativ schlechte Erfahrung gemachte habe möchte ich ungern noch Entwicklungstools nachinstallieren. Cross-compiling auf meinen Linuxsystem wird da sicherlich auch nicht so leicht.
Gibt es da ein "Tutorial" oder so etwas dazu?

3) Leider steigt storeBackup schon aus, bevor Größenanalysen etc. gemacht werden. Deshalb ist das splitten nicht möglich.

4) Ja, es sind eigentlich nur ISO Dateien. Durch meine Ordnerstruktur wird es nur wahrscheinlich nicht so prickelnd die Dateien seperat zu sichern. Naja, einen Tod muss ich wohl sterben.

5) Wie du schon gesagt hat: Nicht wirklich praktikabel.

Werde wohl nun Warten und nebenbei Informationen zu Punkt 2 sammeln.

OT: Wie kommt es, dass dieses Thema (offensichtlich) zum Anmelden am Forum angeregt hat?

Grüße
The_Akki
 
Hallo hjclaes,
Danke für die reichlichen Antworten.

1) Ich habe das Problem an den Synology Support gemeldet. Aber da kam leider nur die Antwort, dass es an die Entwicklungsabteilung weiter geleitet wird. Welche Alternativen stehen sonst noch zur Verfügung?
Keine Ahnung. Ich bin mit Synology weder verwandt noch verschwägert noch habe ich ein NAS. :o
Ich verwende einen (nicht mehr ganz neuen) einigermaßen stromsparenden Rechner als Server - mit TV-Karte und allen möglichen Krams drauf. Gibt's vielleicht ein angepasstes Debian (oder so) dafür? Das natürlich ist nicht unbedingt das, was man will - wegen Garantie. (?)

2) Da ich mit IPKGs und der DS213+ bezüglich unaufgelösten Symbolen der LibC relativ schlechte Erfahrung gemachte habe möchte ich ungern noch Entwicklungstools nachinstallieren. Cross-compiling auf meinen Linuxsystem wird da sicherlich auch nicht so leicht.
Gibt es da ein "Tutorial" oder so etwas dazu?
Wenn es für das Geräte den gcc geben sollte (?), dauert das Compilieren sicherlich etwas. Das Ergebnis läuft dann aber auch. Wie schon geschrieben könnte man das selbstcompilierte z.B. nach /opt/perl legen. StoreBackup startet perl über
Rich (BBCode):
#!/usr/bin/env perl
Wenn du in der Shell, die storeBackup startet, $PATH als erstes auf /opt/perl/bin setzen würdest, würde das eigene perl verwendet. (Normalerweise steht da "#! /usr/bin/perl", dann geht das nicht.
Aber das ist alles Theorie - es müsste den gcc geben (oder eine Umgebung zum cross-complieren, was ggf. aufwändig ist).

3) Leider steigt storeBackup schon aus, bevor Größenanalysen etc. gemacht werden. Deshalb ist das splitten nicht möglich.

4) Ja, es sind eigentlich nur ISO Dateien. Durch meine Ordnerstruktur wird es nur wahrscheinlich nicht so prickelnd die Dateien seperat zu sichern. Naja, einen Tod muss ich wohl sterben.
Was gehen müsste, ist mit "exceptDirs" Verzeichnisse auszunehmen. Die dort angegebenen Verzeichnisse werden erst gar nicht gelesen. Oder andersherum - die betroffenen Verzeichnisse erst gar nicht ins Backup nehmen (über includeDirs oder followLinks). Gezielt die Dateien über den Namen ausblenden geht bei dem Fehler, in den Du läufst, leider nicht, da vor Ausführung der Regeln (natürlich) die Meta Daten gelesen werden müssen. :(

Sonst fällt mir da jetzt auch nichts ein.

OT: Wie kommt es, dass dieses Thema (offensichtlich) zum Anmelden am Forum angeregt hat?
Manchmal suche ich mit einer Suchmaschine einfach nach dem Begriff und schaue, was so kommt. Und nochmals manchmal schreibe ich dann auch was. Bei den NAS Geräten finde ich es schade, dass es immer wieder zu unnötigen Problemen kommt. Ursprünglich lief das Backup bei mir (Version 1.0) auf einem Duron mit 200MHz und 64MB Speicher. Wenn man sich mit blocked-Files zurückhält, sollte das immer noch gehen.

Grüße, hjclaes
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat