7z Befehl funktioniert im Terminal, aber nicht in Skript

  • 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.

black8

Benutzer
Registriert
17. Okt. 2011
Beiträge
18
Reaktionspunkte
0
Punkte
1
Hallo,
ich möchte für einen simplen Backup-Zweck per cronjob ein kleines Skript ausführen, welches einen Ordner auf der Diskstation in ein Archiv packt.
Den 7z Befehl habe ich mir berits zusammengeschustert:
7z a /volume1/ziel/backup.7z -mx0 -t7z -xr!*#recycle/* -xr!*.jpg -xr!*.JPG -xr!*.mp3 -xr!*.exe -xr!*.BMP -xr!*.bmp -xr!*.EXE "/volume1/Quelle/*"

Wenn ich das im Terminal via SSH ausführe, funktioniert es einwandfrei, wenn ich jedoch die Zeile in ein Skript schiebe und es im Terminal via sh.script.sh ausführe, erhalte ich nach etwa 2 Sekunden folgende Meldung:
Rich (BBCode):
Scanning
Updating archive /volume1/ziel/backup.7z

Everything is Ok

Das 7z Archiv wurde auch erstellt, jedoch ist es leer und hat eine größe von 32KB.


Warum funktioniert das Ganze im Skript nicht?

Und wenn wir eh gerade dabei sind, habt ihr noch einen kurzen Tipp, wie ich es einstellen kann, dass das Archiv nicht backup.7z heißt sondern Datum-Uhrzeit.7z (Also halt die entsprechend aktuellen Werte).

Danke schonmal und Gruß,
Alex
 
Gib mal den kompletten Pfad zur 7z-Datei in Deinem Script mit an.
 
Der komplette Pfad ist /volume1/Alexander/backup.7z, daran sollte es also eigentlich nicht liegen, sind ja keine Sonderzeichen oder so enthalten.
 
Der komplette Pfad ist /volume1/Alexander/backup.7z, daran sollte es also eigentlich nicht liegen, sind ja keine Sonderzeichen oder so enthalten.

Gemeint war: gib den kompletten Pfad in deinem Script mit an.
 
das habe ich doch, aber es funktioniert trotzdem leider nicht
 
kannst du mal dein Script hier posten, damit wir nicht länger raten müssen? ;-)
 
Also hier das vollständige Skript:
Rich (BBCode):
#!/bin/ash
#Backupskript
7z a /volume1/Alexander/backup.7z /volume1/Dokumente/* -mx0 -t7z -mhe -xr/#recycle/* -xr!*Thumbs.db -xr!*.JPG -xr*.exe -xr*.BMP -ppassword
echo "Fertig"

Als Passwort ist derzeit wirklich "password" angegeben.

Grüße, Alex.
 
der Pfad zum 7z Binary ist aber kein kompletter Pfad! Das gibt oft Ärger v.a. wenn man das Script via cron aufrufen will. Gib auf der Konsole mal which 7z an und trag das als Pfad zum Binary ein
 
ok, ich habe jetzt /opt/bin/7z statt nur 7z geschrieben, das Problem hat sich dadurch leider nicht gelöst.
 
Das Problem hat sich erledigt, ich habe jetzt einfach mal die Zeile aus dem Skript direkt in der Aufgabenplanung eingegeben (ist ja seit 4.2 Standard) und siehe da, er macht alles so, wie es sein soll.

Keine Ahnung warum das mit dem Skript nicht ging, aer egal, hauptsache jetzt geht es.

Trotzdem Danke für die Hilfe.

Grüße, Alex.
 
war das Script denn überhaupt als ausführbar markiert? Bzw was war denn die Fehlermeldung wenn du das Script aufgerufen hast?
 
Es erschien ja eben keine Fehlermeldung, es startete 7zip, es erschien "Compressing backup.7z" und na etwa einer Sekunde erschien "Successfully finished".
Das Archiv war dann auch vorhanden, nur eben leider immer leer. Das Skript war als ausführbar markiert worden.
 
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