DSM 6.x und darunter Aufgabenplaner - zweiten Task nach erstem starten (ausgelöste Aufgabe)

Alle DSM Version von DSM 6.x und älter
Status
Für weitere Antworten geschlossen.

kev.lin

Benutzer
Mitglied seit
17. Jul 2007
Beiträge
623
Punkte für Reaktionen
38
Punkte
48
Hallo zusammen,

Ich mache derzeit von einer DS ein Backup auf eine zweite DS. Dazu fährt die zweite DS zu einer festen Uhrzeit hoch und das Backup beginnt kurze Zeit später. Das Backup besteht hierbei aus einem HyperBackup mit Versionierung (das Synology-Backup, dass auf einer Datenbank fusst) und anschliessenden einem Rsync-Backup (Ultimate Backup) aus diesem Forum (Nebenbei: Klasse Arbeit von den beiden Jungs!).

Nun zu meiner Frage:
Da ich im Vorhinein nat. nicht weiß, wann der Backup-Prozess fertig ist, kann ich für das Herunterfahren keinen Zeitpunkt setzten. Ok, ich könnte die zweite DS lange laufen lassen, aber ich würde sie gerne unmittelbar nach dem Backup herunterfahren.
Aber wie stelle ich das an?
Da das Ultimate Backup die Option bietet, ein Shutdown-Befehl zu senden, war meine Idee, diese Funktion auch zu nutzen. Dazu wollte ich im Aufgabenplaner das Ultimate Backup starten lassen, nachdem das versionierte Backup fertig ist. Aber die von Synology erwähnte Funktion "Ausgelöste Aufgabe" funktioniert nicht. Ich kann beim Erstellen keine vorherige Aufgabe auswählen. Es bieten sich nur die Optionen "Starten" oder "Herunterfahren" allgemein.

Ein andere Alternative wäre, ein Hilfskript zu nutzen, dass zuerst das versionierte Backup und dann das Ultimate Backup startet. Aber dazu fehlt mir das Wissen im Scripting. Oder kann man einfach eine Art Stapelverarbeitung erzeugen und die beiden Scripte untereinander in die Aufgabe schreiben? So in der Form:
Rich (BBCode):
/volume1/share/versioniertes-backup.sh
/volume1/share/ultimate-backup.sh

Oder habt ihr eine andere Idee, wie ich das Ganze lösen könnte?
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Eine ausführbare Datei (Dateirechte 0755) "nacheinander.sh" mit folgendem Inhalt sollte es tun. "&&" bedeutet: so weiter, falls es keinen Fehler gab. "||" bedeutet: so weiter, falls es einen Fehler gab. In jedem Fall werden die beiden Shell-Scripts so nacheinander ausgeführt.

Rich (BBCode):
#! /bin/sh
/volume1/share/versioniertes-backup.sh && /volume1/share/ultimate-backup.sh || /volume1/share/ultimate-backup.sh
 
Zuletzt bearbeitet:

kev.lin

Benutzer
Mitglied seit
17. Jul 2007
Beiträge
623
Punkte für Reaktionen
38
Punkte
48
Vielen Dank für die Anregung - das hat mir weitergeholfen!

Müsste folgende Zeile noch ans Ende in das Script?
Code:
exit 0
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Nein brauchst du nicht.

Wenn es irgendwann mal Fehler gibt schreib hier ruhig es gibt viele Lösungen aber die von hvkls ist super.


Wenn es allgemein um Shutdown usw. geht ist der advanced power Manager auch super. Bietet viel mehr Möglichkeiten als Synology.
 

kev.lin

Benutzer
Mitglied seit
17. Jul 2007
Beiträge
623
Punkte für Reaktionen
38
Punkte
48
Also, ich habe anhand eurer Tipps ein Script erzeugt, dass beide Backups (datenbankbasiertes Hyperbackup und Ultimate Backup) nacheinander ausführt - das Script heißt "rsync-after_DB-backup_to_DS414slim.sh". Wie der Name vermuten lässt, sichern die Backups von einer DS215j auf eine DS414slim - zuerst das Hyperbackup, danach das Rsync-Backup.
Code:
#! /bin/sh
/usr/syno/bin/synobackup --backup 2 --type image && /volume1/share/rsync_backup_DS215j-to-DS414slim.sh || /volume1/share/rsync_backup_DS215j-to-DS414slim.sh
Dieses Script habe ich heute morgen über den Aufgabenplaner starten lassen und angehakt, dass ich eine Email erhalten will, wenn Fehler bei der Ausführung auftreten.
Nun kann ich unter den Meldungen meiner Diskstation sehen, dass das Rysnc-Backup (Ultimate Backup) erfolgreich lief und zwei Sekunden später erneut aufgerufen wurde! (Wieder erfolgreich beendet)
Über das Menu von Hyperbackup kann ich sehen, dass dieses ebenfalls erfolgreich gelaufen ist.
Allerdings habe ich dennoch eine Email erhalten, die besagt, dass etwas schief gelaufen ist. Nur werde ich aus der Nachricht nicht ganz schlau:
Code:
Sehr geehrter Benutzer,

Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.

Aufgabe: rsync-_after_DB-backup_to_DS414slim
Startzeit: Fri, 21 Oct 2016 09:00:02 GMT
Stoppzeit: Fri, 21 Oct 2016 09:05:15 GMT
Aktueller Status: 1
Standardausgabe/Fehler:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   256  100   176  100    80    291    132 --:--:-- --:--:-- --:--:--   291
100   256  100   176  100    80    290    132 --:--:-- --:--:-- --:--:--   290
{"error":{"code":"invalid_access_token","type":"invalid_request","message":"Access token is missing or invalid.","cat":"(=^???^)y="},"error_code":"invalid_access_token"}df: '/volume????/*share': No such file or directory
/volume1/share/rsync_backup-DS215j-to-DS414slim.sh: line 436: [: -ne: unary operator expected
find: missing argument to `-exec'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   256  100   176  100    80    268    122 --:--:-- --:--:-- --:--:--   269
{"error":{"code":"invalid_access_token","type":"invalid_request","message":"Access token is missing or invalid.","cat":"(=^???^)y="},"error_code":"invalid_access_token"}df: '/volume????/*share': No such file or directory
/volume1/share/rsync_backup-DS215j-to-DS414slim.sh: line 436: [: -ne: unary operator expected
find: missing argument to `-exec'

Sehe ich das richtig, dass die Fehler aus dem Ultimate Backup Script stammen?
Warum wurde das Ultimate Backup Script zweimal aufgerufen?
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Die "a && b || b"-Struktur deines ersten Codes muss in einer einzigen Zeile stehen.

Die Fehlermeldung weist darum hin, dass du Ultimate Backup nicht richtig konfiguriert hast; sieht entweder nach Quelle oder Ziel aus.

Hast du einen *nix-kompatiblen Editor verwendet?
 

kev.lin

Benutzer
Mitglied seit
17. Jul 2007
Beiträge
623
Punkte für Reaktionen
38
Punkte
48
Die "a && b || b"-Struktur deines ersten Codes muss in einer einzigen Zeile stehen.
Ja, das tut sie. Habe das eben nochmal geprüft. Das
Code:
#! /bin/sh
steht in der ersten Zeile. Der Rest in der zweiten Zeile.

Die Erzeugung des Ultimate Backup Scripts erfolgt ja von Ultimate Backup selbst. Da habe ich nichts mehr angepasst.
Hast du einen *nix-kompatiblen Editor verwendet?
Ich habe das Script per Editor unter dem DSM erstellt. Ich habe eben noch einmal geschaut: Das Ultimate Backup Script ist UTF8.
Das von mir erstellte Script war auf "westlich" (oder so ähnlich) eingestellt.

Ich habe es jetzt ebenfalls auf UTF8 gesetzt (sind damit eventuelle Probleme, die Zeilenumbrüche betreffend vom Tisch?) und alles nochmal laufen lassen. Leider mit dem gleichen Ergebnis
Code:
Sehr geehrter Benutzer,

Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.

Aufgabe: rsync-_after_DB-backup_to_DS414slim
Startzeit: Fri, 21 Oct 2016 11:29:51 GMT
Stoppzeit: Fri, 21 Oct 2016 11:34:20 GMT
Aktueller Status: 1
Standardausgabe/Fehler:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   256  100   176  100    80    283    128 --:--:-- --:--:-- --:--:--   283
100   256  100   176  100    80    282    128 --:--:-- --:--:-- --:--:--   282
{"error":{"code":"invalid_access_token","type":"invalid_request","message":"Access token is missing or invalid.","cat":"(=^???^)y?"},"error_code":"invalid_access_token"}df: '/volume????/*share': No such file or directory
/volume1/backup/rsync_backup-DS215j-to-DS414slim.sh: line 436: [: -ne: unary operator expected
find: missing argument to `-exec'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   256  100   176  100    80    235    107 --:--:-- --:--:-- --:--:--   235
{"error":{"code":"invalid_access_token","type":"invalid_request","message":"Access token is missing or invalid.","cat":"(=^???^)y?"},"error_code":"invalid_access_token"}df: '/volume????/*share': No such file or directory
/volume1/backup/rsync_backup-DS215j-to-DS414slim.sh: line 436: [: -ne: unary operator expected
find: missing argument to `-exec'
Im Log sieht man, dass das Rsync-Backup wieder zweimal gelaufen ist:
ds.jpg
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.862
Punkte für Reaktionen
1.152
Punkte
754
Die Zeichenkodierung hat nichts mit den Zeilenenden zu tun. Ein passender Editor wie notepad++ unter Windows zeigt Dir rechts unten in der Statuszeile Unix an, wenn die Zeilenenden richtig konfiguriert sind.
 

kev.lin

Benutzer
Mitglied seit
17. Jul 2007
Beiträge
623
Punkte für Reaktionen
38
Punkte
48
Die Zeichenkodierung hat nichts mit den Zeilenenden zu tun. Ein passender Editor wie notepad++ unter Windows zeigt Dir rechts unten in der Statuszeile Unix an, wenn die Zeilenenden richtig konfiguriert sind.

Danke, auf dem Gebiet kenne ich mich nicht aus.
Die beiden Scripte zeigen in Notepad++ "Unix (LF)" als Zeilenende an. Ich nehme an, dass sollte dann passen?
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Ja, das passt. Finde jetzt den Fehler in den Einstellungen des Ultimate Backup.
 
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