sebastianz
Anmeldungsdatum: 13. Juni 2010
Beiträge: Zähle...
|
Moin liebe Ubuntu-Gemeinde,
Ich versuche seit einigen Tagen mein Backup das mit rsnapshot erstellt wird automatische ausführen zu lassen. Dazu möchte ich anacron benutzen, da mein Rechner nicht 24h am Tag läuft. Dazu habe ich wie beschrieben Scripte in cron.daily/.weekly/.monthly angelegt die den rsnapshot-task starten.
Nun startet Anacron auch (den Logs zufolge):
grep anacron /var/log/syslog*
/var/log/syslog:Aug 5 08:52:50 sebastian-laptop anacron[1382]: Job `cron.daily' terminated (exit status: 1) (mailing output)
/var/log/syslog:Aug 5 08:52:50 sebastian-laptop anacron[1382]: Normal exit (1 job run)
/var/log/syslog.1:Aug 4 09:09:01 sebastian-laptop anacron[1307]: Job `cron.daily' terminated (exit status: 1) (mailing output)
/var/log/syslog.1:Aug 4 09:09:02 sebastian-laptop anacron[1307]: Normal exit (1 job run)
/var/log/syslog.1:Aug 4 09:09:07 sebastian-laptop anacron[3411]: Anacron 2.3 started on 2010-08-04
/var/log/syslog.1:Aug 4 09:09:07 sebastian-laptop anacron[3411]: Normal exit (0 jobs run)
/var/log/syslog.1:Aug 4 09:18:07 sebastian-laptop anacron[3529]: Anacron 2.3 started on 2010-08-04
/var/log/syslog.1:Aug 4 09:18:07 sebastian-laptop anacron[3529]: Normal exit (0 jobs run)
/var/log/syslog.1:Aug 5 08:18:49 sebastian-laptop anacron[1382]: Anacron 2.3 started on 2010-08-05
/var/log/syslog.1:Aug 5 08:18:50 sebastian-laptop anacron[1382]: Will run job `cron.daily' in 5 min.
/var/log/syslog.1:Aug 5 08:18:50 sebastian-laptop anacron[1382]: Jobs will be executed sequentially
/var/log/syslog.1:Aug 5 08:23:49 sebastian-laptop anacron[1382]: Job `cron.daily' started
/var/log/syslog.1:Aug 5 08:23:49 sebastian-laptop anacron[2926]: Updated timestamp for job `cron.daily' to 2010-08-05
Heute sollte anacron also gelaufen sein. Im Ordner /etc/cron.d: ls -l /etc/cron.d/
insgesamt 8,0K
-rw-r--r-- 1 root root 288 2010-03-05 03:29 anacron Die Dateien rsnapshot in cron.*** sind alle ausführbar. ls -l /etc/cron.*
/etc/cron.d:
insgesamt 8,0K
-rw-r--r-- 1 root root 288 2010-03-05 03:29 anacron
-rw-r--r-- 1 root root 478 2008-05-06 16:36 rsnapshot
/etc/cron.daily:
insgesamt 72K
-rwxr-xr-x 1 root root 311 2010-03-05 03:29 0anacron*
-rwxr-xr-x 1 root root 525 2010-08-02 18:09 rsnapshot*
/etc/cron.monthly:
insgesamt 12K
-rwxr-xr-x 1 root root 313 2010-03-05 03:29 0anacron*
-rwxr-xr-x 1 root root 531 2010-08-02 18:08 rsnapshot*
/etc/cron.weekly:
insgesamt 20K
-rwxr-xr-x 1 root root 312 2010-03-05 03:29 0anacron*
-rwxr-xr-x 1 root root 542 2010-08-02 18:08 rsnapshot*
Das Script /etc/cron.daily/rsnapshot kann in der console ausgeführt werden. Rsnapshot schreibt dabei einen Log, dort ist allerdings der letzte Eintrag von vorgestern, dort hab ich das script manuell ausgeführt.
Hat jemand von euch noch eine Idee? Vielen Dank!
|
Krino
Anmeldungsdatum: 31. Juli 2009
Beiträge: 1947
|
Hallo Sebastian! Lustigerweise bei mir das Gleiche: Letztes rsnapshot -Backup ist von heute, vorletztes von vorgestern. Gestern fehlt. Ich hab's mir so erklärt: Ich werfe den PC an, anacron läuft los, aber wenn der externe Datenträger nicht eingeschaltet oder aus irgend einem Grund nicht erreichbar ist, werden halt nur die Aufgaben gemacht, die auch ohne externen Datenträger möglich sind. Dann schreibt anacron sich den Zeitstempel und macht 'für heute Feierabend'. Bin mir aber nicht sicher, ob diese Gedankengänge so stimmen, da ich noch nicht viel Erfahrung mit rsnapshot habe.
|
sebastianz
(Themenstarter)
Anmeldungsdatum: 13. Juni 2010
Beiträge: 41
|
Hej Krino! naja, ne das kann es auch nicht sein, weil anacron ja zumindest das script starten muss! und das ist natürlich ein selbstgeschriebens, das noch ein bisschen mehr macht;) Das script läuft so aber(also wenn ichs händisch starte!)
#!/bin/sh
TMPFILE="/media/d4a6054e-d395-46e3-ab60-1087b6698ac0/backups/"
if test -d $TMPFILE
then
notify-send "Tägliches Backup" "Backup wurde gestartet"
/usr/bin/rsnapshot daily
OUT=$?
if [ $OUT -eq 1 ];then
notify-send "Tägliches Backup" "Backup konnte nicht erstellt werden. Es trat ein Fehler auf."
exit 1
else
notify-send "Tägliches Backup" "Backup beendet"
exit 0
fi
else
notify-send "Tägliches Backup" "Backup konnte nicht gestartet werden, die Festplatte war nicht angeschlossen"
echo "rsnapshot.daily couldn't be done => HDD does not exist" >> "/home/sebastian/.rsnapshot.log"
exit 1
fi Hmm schwierig das alles....
|
Krino
Anmeldungsdatum: 31. Juli 2009
Beiträge: 1947
|
sebastianz schrieb: Hmm schwierig das alles....
Sehe ich auch so! ☺ Ich lese weiter mit und hoffe dadurch schlauer zu werden...
|
DrScott
Ehemalige
Anmeldungsdatum: 7. Juli 2005
Beiträge: 6018
|
Habe die relevanten syslog-Zeilen mal in die korrekte Reihenfolge gebracht und das interessante markiert: sebastianz schrieb: /var/log/syslog.1:Aug 5 08:18:49 sebastian-laptop anacron[1382]: Anacron 2.3 started on 2010-08-05
/var/log/syslog.1:Aug 5 08:18:50 sebastian-laptop anacron[1382]: Will run job `cron.daily' in 5 min.
/var/log/syslog.1:Aug 5 08:18:50 sebastian-laptop anacron[1382]: Jobs will be executed sequentially
/var/log/syslog.1:Aug 5 08:23:49 sebastian-laptop anacron[1382]: Job `cron.daily' started
/var/log/syslog.1:Aug 5 08:23:49 sebastian-laptop anacron[2926]: Updated timestamp for job `cron.daily' to 2010-08-05
/var/log/syslog:Aug 5 08:52:50 sebastian-laptop anacron[1382]: Job `cron.daily' terminated (exit status: 1) (mailing output)
/var/log/syslog:Aug 5 08:52:50 sebastian-laptop anacron[1382]: Normal exit (1 job run)
Da scheint etwas schief gelaufen zu sein. Dem root Account wurde eine EMail geschickt. Die wäre nun sehr hilfreich.
|
sebastianz
(Themenstarter)
Anmeldungsdatum: 13. Juni 2010
Beiträge: 41
|
Ahja, das stimmt... Wie stelle ich denn fest welche Email adresse das ist und wie setze ich die auf meine? Gruß!
|
Krino
Anmeldungsdatum: 31. Juli 2009
Beiträge: 1947
|
Wie ich früher von DrScott gelernt habe, kann man das so machen:
sudo -s Damit bist Du als root angemeldet. Dann eintippen:
mail Wenn mail vorhanden ist, wird sie Dir angezeigt.
Anschließend nicht vergessen, sich mit
exit
abzumelden, damit man wieder zum normalen user wird.
|
sebastianz
(Themenstarter)
Anmeldungsdatum: 13. Juni 2010
Beiträge: 41
|
das Paket mail ist bei mir nicht installiert...
mail
Das Programm »mail« ist in folgenden Paketen enthalten:
* heirloom-mailx
* mailutils
Versuchen Sie: apt-get install <ausgewähltes Paket> Ich müsste doch irgendwie die Email adresse dafür einstellen können oder nicht?
|
Krino
Anmeldungsdatum: 31. Juli 2009
Beiträge: 1947
|
sebastianz schrieb: das Paket mail ist bei mir nicht installiert...
Bei mir ist
heirloom-mailx
installiert, damit geht es. Ich müsste doch irgendwie die Email adresse dafür einstellen können oder nicht?
Stimmt. Habe es gerade versucht und bin vorerst gescheitert... Anscheinend braucht man dafür Postfix. Die Wiki-Anleitung sagt, daß man nach der Installation automatisch zur Konfiguration geführt wird - hat bei mir nicht geklappt.
|
sebastianz
(Themenstarter)
Anmeldungsdatum: 13. Juni 2010
Beiträge: 41
|
Hmm bei mir passiert auch das glecihe, kann postfix nicht einstellen...
Irgendwie ist das doch seltsam!
☺
|
Krino
Anmeldungsdatum: 31. Juli 2009
Beiträge: 1947
|
Ich glaube, wir müssen auf Hilfe durch DrScott hoffen... ☺
|
DrScott
Ehemalige
Anmeldungsdatum: 7. Juli 2005
Beiträge: 6018
|
Man braucht Postfix nur, wenn man lokale EMails an root dauerhaft umleiten will. Wenn die Einrichtung nicht klappt, dann mach dazu ein neues Thema auf (Schau mal, ob es nicht schon was gibt...). Für diesen Beitrag ist es erstmal nur wichtig, was zu "root@localhost" verteilt wurde. Diese EMails lassen sich nachträglich auch nicht mehr umverteilen. Also eines der Pakete installieren und dann so machen, wie von Krino beschrieben...
|
Krino
Anmeldungsdatum: 31. Juli 2009
Beiträge: 1947
|
Neuer Thread zu Postfix –> hier.
|
sebastianz
(Themenstarter)
Anmeldungsdatum: 13. Juni 2010
Beiträge: 41
|
Also mittlerweile habe ich festgestellt das das script wohl doch läuft. allerdings nur bedingt... Eine Log-Datei die ich in meinem Script mit anlege zeigt nun folgende Fehlermeldung: [06/Aug/2010:21:17:01] /bin/rm -rf /media/d4a6054e-d395-46e3-ab60-1087b6698ac0/backups/home/hourly.5/
[06/Aug/2010:21:17:01] /usr/bin/rsnapshot hourly: ERROR: Warning! /bin/rm failed.
[06/Aug/2010:21:17:01] /usr/bin/rsnapshot hourly: ERROR: Error! rm_rf("/media/d4a6054e-d395-46e3-ab60-1087b6698ac0/backups/home/hourly.5/")
[06/Aug/2010:21:17:01] rm -f /var/run/rsnapshot.pid
Es scheint so als ob der befehlt nicht existiert.
Hab das überprüft, der existiert jedoch.
Hat dazu noch jemand eine Idee?
Mein Sicherungsverzeichnis hat auch nur den ordner daily0 und hourly0-5 obwohl eigentlich schon daily 1 angelegt hätte werden müssen. Außerdem ist noch ein kleiner Schönheitsfehler vorhanden, in meinem Script gebe ich über
| notify-send "Tägliches Backup" "Backup konnte nicht erstellt werden. Es trat ein Fehler auf."
|
eine Meldung aus. Diese funktioniert wenn ich das script manuell ausführe, jedoch nicht wenn es über anacron ausgeführt wird. Hat dazu noch jemand eine Idee?
|
DrScott
Ehemalige
Anmeldungsdatum: 7. Juli 2005
Beiträge: 6018
|
sebastianz schrieb: [06/Aug/2010:21:17:01] /bin/rm -rf /media/d4a6054e-d395-46e3-ab60-1087b6698ac0/backups/home/hourly.5/
[06/Aug/2010:21:17:01] /usr/bin/rsnapshot hourly: ERROR: Warning! /bin/rm failed.
[06/Aug/2010:21:17:01] /usr/bin/rsnapshot hourly: ERROR: Error! rm_rf("/media/d4a6054e-d395-46e3-ab60-1087b6698ac0/backups/home/hourly.5/")
[06/Aug/2010:21:17:01] rm -f /var/run/rsnapshot.pid
Es scheint so als ob der befehlt nicht existiert.
Hab das überprüft, der existiert jedoch.
Das Problem ist nicht /bin/rm selbst. Es passiert ein Fehler beim Versuch, dieses hourly.5 zu löschen. Welche Rotationslänge hast Du für hourly eingestellt? Hintergrund: Die Rotation bewirkt, dass das letzte Backup eines Intervalls natürlich immer verschwinden soll. Auch irritiert mich der abschließende Schrägstrich etwas. Kontrolliere mal deine Konfiguration. Pfade müssen dort immer mit abschließendem Schrägstrich angegeben sein. Ansonsten könnte es ein Rechteproblem sein? Wird die Platte vielleicht manchmal read-only eingehängt?
Außerdem ist noch ein kleiner Schönheitsfehler vorhanden, in meinem Script gebe ich über
| notify-send "Tägliches Backup" "Backup konnte nicht erstellt werden. Es trat ein Fehler auf."
|
eine Meldung aus. Diese funktioniert wenn ich das script manuell ausführe, jedoch nicht wenn es über anacron ausgeführt wird. Hat dazu noch jemand eine Idee?
Wenn das Skript unter anacron läuft, dann läuft es im Root-Context. In diesem Context fehlen aber die notwendigen Informationen, um auf den laufenden XServer zuzugreifen. Das aber bräuchte notify-send an dieser Stelle. Folgender Code funktioniert bei mir und sendet die Benachrichtigung sogar an alle Gnome Sitzungen, falls gerade mehrere laufen sollten (mehere Benutzer angemeldet) for PID in $(pgrep gnome-session)
do
export $(cat /proc/$PID/environ | xargs -0 -n 1 echo | grep ^DISPLAY=)
notify-send bla fasel
done
|