wired2051
Anmeldungsdatum: 28. Februar 2007
Beiträge: 2736
|
Ich sichere schon seit Jahren meine Daten via rsync auf dem NAS. Dafür habe ich ein Script, dass mit cron gestartet wird. Seit ich mit einer Kubuntu-Installation auf neue Hardware umgezogen bin (Neuinstallation, home nicht kopiert) startet cron das Script nur unzuverlässig. Das letzte Backup war z. B. vor 2 Tagen. Das ist die /etc/crontab. Ich habe nur Zeile 15 geschrieben, der Rest ist Voreinstellung. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | # /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
0 10-20 * * * root /home/USER/Scripte/SicherungAufNAS
|
Hat jemand eine Idee, woran das liegen könnte?
|
Mankind75
Lokalisierungsteam
Anmeldungsdatum: 4. Juni 2007
Beiträge: 3178
Wohnort: Wernigerode
|
wired2051 schrieb: Hat jemand eine Idee, woran das liegen könnte?
Eventuell hieran: Wichtig ist, dass am Ende der Tabelle ein Kommentar oder eine Leerzeile stehen. Ähnlich wie die fstab muss die crontab mit einer Leerzeile enden! Aus dem Ubuntuusers-Wiki
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
wired2051 schrieb: startet cron das Script nur unzuverlässig.
Gehe hier mal auf Nummer sicher, und ergänze im Backup Script 2 Zeile ein Logging, z.B.
date >> /home/USER/Scripte/SicherungAufNAS.log
und poste mal den Inhalt nach ein paar Stunden. Dass dein Kubuntu den cronjob nur unregelmäßig aufruft ist eigentlich ausgeschlossen.
Die Fehlersuche sollte also im Script SicherungAufNAS erfolgen, magst du es hier posten ? Viele Grüße u1000
|
wired2051
(Themenstarter)
Anmeldungsdatum: 28. Februar 2007
Beiträge: 2736
|
Ooops, mein Fehler, die letzte Zeile habe ich beim kopieren abgeschnitten. 😳 Die Datei sieht am Ende so aus: | 0 10-20 * * * root /home/USER/Scripte/SicherungAufNAS
#
|
|
wired2051
(Themenstarter)
Anmeldungsdatum: 28. Februar 2007
Beiträge: 2736
|
Das Script besteht nur aus mehreren rsync-Aufrufen und sieht verkürzt so aus: | #!/bin/sh
#
rsync -au --log-file=/home/USER/Scripte/logs/PCAufNAS.log --delete --exclude=.cache/ --exclude=.local/share/Trash/ /home/ IP_DES_NAS::backupHome
#
|
Das Logfile beobachte ich ständig via Dateiüberwachung auf dem Desktop. Wenn rsync startet, arbeitet es einwandfrei. Eben um 13:00 wurde das Script übrigens ausgeführt. Kann das daran liegen, dass ich /etc/crontab mit vi geöffnet habe (als user, nicht als root)? 2015/04/23 13:00:01 [6933] building file list
[...]
2015/04/23 13:01:41 [6933] sent 859,101,269 bytes received 17,048 bytes total size 66,512,231,044
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
wired2051 schrieb: Das Logfile beobachte ich ständig via Dateiüberwachung auf dem Desktop.
Das Logfile meine ich nicht, sondern das oben beschriebene, was erstmal prüft, das das Script stündlich aufgerufen wird. Im nächsten Schritt würde ich dann sämtliche Ausgaben (stdout + stderr) des Scriptes in eine Textdatei umleiten. Das geht direkt in der crontab mit ">" und "2>"
Kann das daran liegen, dass ich /etc/crontab mit vi geöffnet habe (als user, nicht als root)
Nein, da die /etc/crontab im Normalfall nur von root änderbar ist. Eine Anmerkung zum "Backup" habe ich: du sicherst stündlich ohne Versionierung?
Wenn also deine Daten in /home verlorengehen, du merkst es nicht, ist spätestens 61 Minuten später auf dem NAS auch alles gelöscht!? Viele Grüße u1000
|
Mankind75
Lokalisierungsteam
Anmeldungsdatum: 4. Juni 2007
Beiträge: 3178
Wohnort: Wernigerode
|
u1000 schrieb: Nein, da die /etc/crontab im Normalfall nur von root änderbar ist.
Soweit ich weiss kann man auch eine user-spezifische crontab editieren:
crontab -e
|
wired2051
(Themenstarter)
Anmeldungsdatum: 28. Februar 2007
Beiträge: 2736
|
u1000 schrieb: Das Logfile meine ich nicht, sondern das oben beschriebene, was erstmal prüft, das das Script stündlich aufgerufen wird.
Du meinst date >> /home/USER/Scripte/SicherungAufNAS.log? Aber was bringt das? Ich habe (OK, das habe ich auch verschwiegen 😳 ) vor dem rsync-Aufruf ein echo rsync gestartet im Script, zugegebenermassen ohne Datum. Da die Zeile nur im Log erscheint, wenn auch rsync arbeitet, ist doch klar, wenn das Script nicht gestartet wird, oder? u1000 schrieb: Im nächsten Schritt würde ich dann sämtliche Ausgaben (stdout + stderr) des Scriptes in eine Textdatei umleiten. Das geht direkt in der crontab mit ">" und "2>"
Kannst Du mir bitte genauer erklären wie? u1000 schrieb: Eine Anmerkung zum "Backup" habe ich: du sicherst stündlich ohne Versionierung?
Wenn also deine Daten in /home verlorengehen, du merkst es nicht, ist spätestens 61 Minuten später auf dem NAS auch alles gelöscht!?
Danke für den Hinweis aber da existiert kein Problem. Das rsync auf volume1 des NAS ist nur der erste Schritt, mit dem stündlich alle Daten gesammelt werden. Jeweils eine halbe Stunde später wird dann eine Generationskopie von volume1 auf volume2 gemacht, früher mit rsnapshot, jetzt mit dem Time Backup der Synology. Mankind75 schrieb: Soweit ich weiss kann man auch eine user-spezifische crontab editieren:
Ich habe das damals als root eingerichtet und möchte das ehrlich gesagt nicht ändern, wenn es nicht sein muss.
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
wired2051 schrieb: Kannst Du mir bitte genauer erklären wie?
Gerne: editiere die /etc/crontab und hänge die gelb mrkierten Ergänzungen an: 0 10-20 * * * root /home/USER/Scripte/SicherungAufNAS >/pfad/zum/logfile 2>&1
Nimm ruhig ein neues/anderes LogFile als die bisherigen. Mankind75 schrieb: Soweit ich weiss kann man auch eine user-spezifische crontab editieren:
Mit normalen User Rechten kann aber aber /home nicht sichern. /etc/crontab ist für root Jobs schon so richtig.
|
wired2051
(Themenstarter)
Anmeldungsdatum: 28. Februar 2007
Beiträge: 2736
|
Danke. 👍 Da ich weiss, dass crontab sehr sensibel ist, noch einmal nachgefragt: zwischen SicherungAufNAS und >/pfad sowie zwischen /logfile und 2>&1 jeweils ein Leerzeichen, kein Tab?
|
wired2051
(Themenstarter)
Anmeldungsdatum: 28. Februar 2007
Beiträge: 2736
|
So, um 19:00 wurde das Script ausgeführt. Das ist die Ausgabe von >/pfad/zum/logfile 2>&1 (Im Script sind 8 rsync-Aufrufe): | Password: Password: Password: Password: Password: Password: Password: Password:
|
Laut rsync-Log hat alles funktioniert: | ---rsync home gestartet---
2015/04/23 19:01:14 [9130] building file list
[...]
2015/04/23 19:01:53 [9130] <f+++++++++ USER/Scripte/logs/cron-Test.log
2015/04/23 19:01:54 [9130] sent 266,442,748 bytes received 145,527 bytes total size 1,140,110,546
---rsync home beendet---
|
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
zwischen SicherungAufNAS und >/pfad sowie zwischen /logfile und 2>&1 jeweils ein Leerzeichen, kein Tab?
Ja Leerzeichen. Jetzt wäre natürlich interesannt, wenn der Fehlerfall mal auftritt und ob was besonderes im Log steht. Und noch als Erklärung:
... >/pfad/zum/logfile
leitet Standardausgabe (stdout) in eine Textdatei um ... 2>&1
leitet Fehler (stderr) in die Standardausgabe um, die von der vorigen Zele dann auch in die Textdatei kommen.
|
wired2051
(Themenstarter)
Anmeldungsdatum: 28. Februar 2007
Beiträge: 2736
|
u1000 schrieb: Jetzt wäre natürlich interesannt, wenn der Fehlerfall mal auftritt und ob was besonderes im Log steht.
Laut rsync-Log war das letzte Backup am 2015/04/24 13:00:02. Das cron-Log ist unverändert: Password: Password: Password: Password: Password: Password: Password: Password: Genau genommen wurde die Datei seit dem letzten Backup nicht verändert: -rw-r--r-- 1 root root 80 Apr 24 13:01 cron-Test.log Wie kriege ich raus, warum cron das Script nur hin und wieder startet? –-edit-– Eben wurde das Script wieder gestartet. Laut rsync-Log ist alles wie erwartet. Das cron-Log wurde auch verändert -rw-r--r-- 1 root root 80 Apr 25 14:02 cron-Test.log enthält aber weiterhin nur acht mal Password:.
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
ok, wir gehen das jetzt nochmal systematisch an, 3 verschiedene Logfiles: logfile1: /etc/crontab
0 10-20 * * * root /home/USER/Scripte/SicherungAufNAS >/pfad/zum/logfile1 2>&1
Das da übrigend nur "Password:..." drinn steht ist eigentlich nicht richtig: da sollten alle Ausgaben vom rsync stehen... so als ob man es im Terminal manuell startet. logfile2: /home/USER/Scripte/SicherungAufNAS, z.B. in der 2. Zeile einfügen:
date
date >> /pfad/zum/logfile2 und das rsync schreibt nach /home/USER/Scripte/logs/PCAufNAS.log Bitte dann alle 3 Logfiles mal posten.
Und bitte mal das Script manuell starten:
sudo env -i /home/USER/Scripte/SicherungAufNAS
|
wired2051
(Themenstarter)
Anmeldungsdatum: 28. Februar 2007
Beiträge: 2736
|
Logfile1 konnte natürlich nicht erstellt werden, da ich das Script manuell gestartet habe. (Btw: was macht env -i?) -rw-r--r-- 1 root root 30 Apr 25 15:06 logfile2
-rw-r--r-- 1 root root 172 Apr 25 15:06 DatenAufNAS.log Das ist logfile2: | Sat Apr 25 15:06:08 CEST 2015
|
Das rsync-Log DatenAufNAS.log: | 2015/04/25 15:06:14 [10853] building file list
2015/04/25 15:06:34 [10853] sent 1,643,403 bytes received 15,366 bytes total size 67,372,606,282
---rsync Daten beendet---
|
Wie gesagt, das Script besteht aus 8 rsync-Aufrufen, die nacheinander abgearbeitet werden. Ich habe deshalb 8x das pw eingegeben. Ansonsten hat alles funktioniert, wie erwartet. Um 15:00 ist offenbar das Script nicht von cron gestartet worden. –-edit-– 16:00, 17:00 und 18:00 wurde wieder gestartet: | -rw-r--r-- 1 root root 1808 Apr 25 18:00 DatenAufNAS.log
-rw-r--r-- 1 root root 110 Apr 25 18:01 logfile1.log
-rw-r--r-- 1 root root 120 Apr 25 18:00 logfile2
|
DatenAufNAS.log:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | 2015/04/25 15:06:14 [10853] building file list
2015/04/25 15:06:34 [10853] sent 1,643,403 bytes received 15,366 bytes total size 67,372,606,282
---rsync Daten beendet---
2015/04/25 16:00:01 [18645] building file list
[...]
2015/04/25 16:00:23 [18645] sent 1,642,817 bytes received 15,421 bytes total size 67,372,604,780
---rsync Daten beendet---
2015/04/25 17:00:01 [23413] building file list
[...]
2015/04/25 17:00:23 [23413] sent 1,687,669 bytes received 15,865 bytes total size 67,372,597,742
---rsync Daten beendet---
2015/04/25 18:00:01 [31002] building file list
[...]
2015/04/25 18:00:24 [31002] sent 1,685,792 bytes received 15,805 bytes total size 67,372,598,037
---rsync Daten beendet---
|
logfile1.log:
| Sa 25. Apr 18:00:01 CEST 2015
Password: Password: Password: Password: Password: Password: Password: Password:
|
logfile2:
| Sat Apr 25 15:06:08 CEST 2015
Sa 25. Apr 16:00:01 CEST 2015
Sa 25. Apr 17:00:01 CEST 2015
Sa 25. Apr 18:00:01 CEST 2015
|
|