- Mitglied seit
- 05. Mrz 2013
- Beiträge
- 2.148
- Punkte für Reaktionen
- 736
- Punkte
- 154
Da einige Backup-Tasks DSM nicht daran hindern herunterzufahren (Backup Rotation & Integrity Check) hab ich mir ein Skript gebaut, welches diese Vorgänge in den Logs auswertet und die Backup-Syno erst herunterfährt, wenn diese abgeschlossen wurden.
Außerdem werden Remote-Replikationen auf meine Backup-Syno durchgeführt, die ebenfalls berücksichtigt werden.
Das Skript braucht Konfigurations-Dateien, um auf unterschiedliche Situationen zu reagieren. Zum Verständnis nehmen wir folgende Konfigurationen für Backup, Integrity Checks & Replikationen an:
Für die Backups müsst ihr die IDs aus den Logs der Backup-Syno suchen, da dort die Task-Namen nicht auftauchen.
Für die obengenannte Beispiel-Konfiguration ergeben sich folgende Konfigs für das Skript:
Für morgens jeden Tag:
morning.conf
Für abends in der Woche:
evening_week.conf
Für abends Samstags:
evening_saturday.conf
Und für abends Sonntags:
evening_sunday.conf
Durch den Wert "AFTERSECS" wird festgelegt, in welchen Abständen ihr informiert werdet, wenn etwas länger dauern sollte, in diesem Beispiel alle 15m.
Die Beispiele spiegeln meine Konfiguration abgespeckt wieder:
Morgens jeden Tag 9:55 startet meine Prod-Syno die Backup-Syno per WOL, die Backups und Replikationen werden durchgeführt und um 10:12 wird auf der Backup-Syno das Skript gestartet: /Pfad zum Skript/shutdown_nas.sh /Pfad zur Konfig/morning.conf
Abends in der Woche 18:01 wird sie wieder gestartet, die Replikationen werden durchgeführt, 18:12 wird das Skript gestartet: /Pfad zum Skript/shutdown_nas.sh /Pfad zur Konfig/evening_week.conf
Abends Samstag, Start 18:01, Replikationen und Integrity Checks werden durchgeführt, 18:20 wird das Skript gestartet: /Pfad zum Skript/shutdown_nas.sh /Pfad zur Konfig/evening_saturday.conf
Abends Sonntag, Start 18:01, Replikationen und Integrity Checks werden durchgeführt, 18:20 wird das Skript gestartet: /Pfad zum Skript/shutdown_nas.sh /Pfad zur Konfig/evening_sunday.conf
Für die Integrity Checks müsst ihr schauen, wie lange die etwa brauchen, um die beste Startzeit für das Skript festzulegen.
Ich hoffe, ich hab das einigermassen verständlich gemacht. Bei Fragen fragen und wer Verbesserungsvorschläge hat, immer raus damit.
P.S. Die Zeile mit dem Shutdown-Befehl ist zur Sicherheit auskommentiert, dann kann man erst mal testen...
Außerdem werden Remote-Replikationen auf meine Backup-Syno durchgeführt, die ebenfalls berücksichtigt werden.
Das Skript braucht Konfigurations-Dateien, um auf unterschiedliche Situationen zu reagieren. Zum Verständnis nehmen wir folgende Konfigurationen für Backup, Integrity Checks & Replikationen an:
Code:
BackupA (ID 1), täglich 10:00
BackupB (ID 2), täglich 10:02
BackupC (ID 3), täglich 10:04
Remote-Replikation ShareA, täglich 10:06 und 18:06
Remote-Replikation ShareB, täglich 10:08 und 18:08
Remote-Replikation ShareC, täglich 10:10 und 18:10
Integrity Check BackupA, Samstags 18:12
Integrity Check BackupB, Samstags 18:16
Integrity Check BackupC, Sonntags 18:12
Für die Backups müsst ihr die IDs aus den Logs der Backup-Syno suchen, da dort die Task-Namen nicht auftauchen.
Für die obengenannte Beispiel-Konfiguration ergeben sich folgende Konfigs für das Skript:
Für morgens jeden Tag:
morning.conf
Code:
{
"BACKUPIDS": [
"1",
"2",
"3"
],
"INTEGRITYIDS": [
],
"REPLICATIONS": [
"ShareA",
"ShareB",
"ShareC"
],
"REPTIME": "10",
"MAILTARGET": "mail@mail.de",
"SENDER": "MeinNAS@mail.de",
"AFTERSECS": "900"
}
Für abends in der Woche:
evening_week.conf
Code:
{
"BACKUPIDS": [
],
"INTEGRITYIDS": [
],
"REPLICATIONS": [
"ShareA",
"ShareB",
"ShareC"
],
"REPTIME": "18",
"MAILTARGET": "mail@mail.de",
"SENDER": "MeinNAS@mail.de",
"AFTERSECS": "900"
}
Für abends Samstags:
evening_saturday.conf
Code:
{
"BACKUPIDS": [
],
"INTEGRITYIDS": [
"1",
"2"
],
"REPLICATIONS": [
"ShareA",
"ShareB",
"ShareC"
],
"REPTIME": "18",
"MAILTARGET": "mail@mail.de",
"SENDER": "MeinNAS@mail.de",
"AFTERSECS": "900"
}
Und für abends Sonntags:
evening_sunday.conf
Code:
{
"BACKUPIDS": [
],
"INTEGRITYIDS": [
"3"
],
"REPLICATIONS": [
"ShareA",
"ShareB",
"ShareC"
],
"REPTIME": "18",
"MAILTARGET": "mail@mail.de",
"SENDER": "MeinNAS@mail.de",
"AFTERSECS": "900"
}
Durch den Wert "AFTERSECS" wird festgelegt, in welchen Abständen ihr informiert werdet, wenn etwas länger dauern sollte, in diesem Beispiel alle 15m.
Die Beispiele spiegeln meine Konfiguration abgespeckt wieder:
Morgens jeden Tag 9:55 startet meine Prod-Syno die Backup-Syno per WOL, die Backups und Replikationen werden durchgeführt und um 10:12 wird auf der Backup-Syno das Skript gestartet: /Pfad zum Skript/shutdown_nas.sh /Pfad zur Konfig/morning.conf
Abends in der Woche 18:01 wird sie wieder gestartet, die Replikationen werden durchgeführt, 18:12 wird das Skript gestartet: /Pfad zum Skript/shutdown_nas.sh /Pfad zur Konfig/evening_week.conf
Abends Samstag, Start 18:01, Replikationen und Integrity Checks werden durchgeführt, 18:20 wird das Skript gestartet: /Pfad zum Skript/shutdown_nas.sh /Pfad zur Konfig/evening_saturday.conf
Abends Sonntag, Start 18:01, Replikationen und Integrity Checks werden durchgeführt, 18:20 wird das Skript gestartet: /Pfad zum Skript/shutdown_nas.sh /Pfad zur Konfig/evening_sunday.conf
Für die Integrity Checks müsst ihr schauen, wie lange die etwa brauchen, um die beste Startzeit für das Skript festzulegen.
Ich hoffe, ich hab das einigermassen verständlich gemacht. Bei Fragen fragen und wer Verbesserungsvorschläge hat, immer raus damit.
P.S. Die Zeile mit dem Shutdown-Befehl ist zur Sicherheit auskommentiert, dann kann man erst mal testen...
Anhänge
Zuletzt bearbeitet: