[erledigt] rsync ... && shutdown -h now
[erledigt] rsync ... && shutdown -h now
Hallo,
ich experimentiere gerade mit einem täglichen cron, um meine Daten auf ein anderes LW zu "spiegeln".
Das soll abends geschehen und danach der Server runterfahren.
Im Web habe ich den Anhang && shutdown -h now gesehen (jedoch mit sudo davor: sudo shutdown -h now).
bei mir:
[code]0 19 * * * rsync -ab --delete /media/Pfad /media/Pfad && shutdown -h now[/code]
Startet aber nicht. Kann wohl nur an dem && liegen, da ohne gehts.
Jemand einen Tipp, wie ich das hinbekomme?
BTW: Muss sudo sein? Nutze sudo nicht oder ist das bei solchen Dingen notwendig?
Danke & GRüße
Gersh
ich experimentiere gerade mit einem täglichen cron, um meine Daten auf ein anderes LW zu "spiegeln".
Das soll abends geschehen und danach der Server runterfahren.
Im Web habe ich den Anhang && shutdown -h now gesehen (jedoch mit sudo davor: sudo shutdown -h now).
bei mir:
[code]0 19 * * * rsync -ab --delete /media/Pfad /media/Pfad && shutdown -h now[/code]
Startet aber nicht. Kann wohl nur an dem && liegen, da ohne gehts.
Jemand einen Tipp, wie ich das hinbekomme?
BTW: Muss sudo sein? Nutze sudo nicht oder ist das bei solchen Dingen notwendig?
Danke & GRüße
Gersh
Zuletzt geändert von gershwin am 25.08.2015 09:53:33, insgesamt 1-mal geändert.
Re: rsync ... && shutdown -h now
Mach’ dir doch ein kurzes Script für den Job, das den Rückgabewert von rsync auswertet und bei 0 shutdown aufruft oder dir ansonsten weiterführende Informationen zur Verfügung stellt, und rufe das via cron auf.
Abgesehen davon: sudo ist eher ein Programm für interaktive Sachen. Wenn dein Kram als root ausgeführt werden soll, schreib’s halt entsprechend in die Crontab von root.
Abgesehen davon: sudo ist eher ein Programm für interaktive Sachen. Wenn dein Kram als root ausgeführt werden soll, schreib’s halt entsprechend in die Crontab von root.
Re: rsync ... && shutdown -h now
Hallo niemand,
nun, dachte mit der einen Zeile in crontab bekomme ich das hin.
Wenn das so also nicht geht (hatte mehrere Quellen im Web gefunden), muss ich mich wohl mit dem Scripten befassen.
Grüße
Gersh
nun, dachte mit der einen Zeile in crontab bekomme ich das hin.
Wenn das so also nicht geht (hatte mehrere Quellen im Web gefunden), muss ich mich wohl mit dem Scripten befassen.
Grüße
Gersh
Re: rsync ... && shutdown -h now
http://askubuntu.com/questions/265209/r ... in-crontab
wobei ich instinktiv eher
versucht hätte (k.A. ob das funktioniert)
wobei ich instinktiv eher
Code: Alles auswählen
0 19 * * * (rsync -ab --delete /media/Pfad /media/Pfad && shutdown -h now)
Re: rsync ... && shutdown -h now
@smutbert
das funktioniert leider nicht
Habe ein Script gefunden und angepasst:
[code]
SOURCES="/media/VZ/"
TARGET="/media/VZ/"
RSYNCCONF="--delete"
LOGFILE="rsync_log.log"
RSYNC=`which rsync`
$RSYNC -ab $RSYNCCONF $SOURCES $TARGET > $LOGFILE
shutdown -h now
exit 0
[/code]
Erstellt unter /usr/bin/cron/name.sh
chmod 775
0 19 * * * /usr/bin/cron/name.sh
tut sich aber auch nichts.
Was mache ich falsch?
Danke & Grüße
Gersh
das funktioniert leider nicht
Habe ein Script gefunden und angepasst:
[code]
SOURCES="/media/VZ/"
TARGET="/media/VZ/"
RSYNCCONF="--delete"
LOGFILE="rsync_log.log"
RSYNC=`which rsync`
$RSYNC -ab $RSYNCCONF $SOURCES $TARGET > $LOGFILE
shutdown -h now
exit 0
[/code]
Erstellt unter /usr/bin/cron/name.sh
chmod 775
0 19 * * * /usr/bin/cron/name.sh
tut sich aber auch nichts.
Was mache ich falsch?
Danke & Grüße
Gersh
Re: rsync ... && shutdown -h now
„tut sich aber auch nichts“ äußert sich wie? In dem Script wird ein Logfile definiert, steht dort etwas drin? Gibt es lokale Mails an root, in denen Fehler gemeldet worden sind?
Re: rsync ... && shutdown -h now
Der Code ist wohl html-codiert? das ">" musst du durch ein ">" ersetzengershwin hat geschrieben:$RSYNC -ab $RSYNCCONF $SOURCES $TARGET > $LOGFILE
- Livingston
- Beiträge: 1816
- Registriert: 04.02.2007 22:52:25
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 127.0.0.1
Re: rsync ... && shutdown -h now
Es klappt auch mit cron. Da innerhalb von cron die Variable PATH nicht definiert ist, muss aus shutdown ein /sbin/shutdown gemacht werden.
By the way: In fast jeder Anfrage zum Thema cron liegt das Problem bei unvollständigen Pfadangaben.
EDIT:
Fast übersehen: rsync will natürlich auch 'nen Pfad verpasst bekommen.
By the way: In fast jeder Anfrage zum Thema cron liegt das Problem bei unvollständigen Pfadangaben.
EDIT:
Fast übersehen: rsync will natürlich auch 'nen Pfad verpasst bekommen.
Re: rsync ... && shutdown -h now
Hatte ich nun so interpretiert, dass der rsync-Aufruf alleine funktioniert.Kann wohl nur an dem && liegen, da ohne gehts.
Re: rsync ... && shutdown -h now
[quote] Kann wohl nur an dem && liegen, da ohne gehts.
Hatte ich nun so interpretiert, dass der rsync-Aufruf alleine funktioniert.[/quote]
Ja,
0 19 * * * rsync -ab --delete /media/Pfad /media/Pfad (ohne das &&)
funktioniert.
@livingston:
Du meinst damit, dass in meinem Script bei rsync und shutdown /sbin davorgesetzt werden muss?
Danke & Gruß
Gersh
Hatte ich nun so interpretiert, dass der rsync-Aufruf alleine funktioniert.[/quote]
Ja,
0 19 * * * rsync -ab --delete /media/Pfad /media/Pfad (ohne das &&)
funktioniert.
@livingston:
Du meinst damit, dass in meinem Script bei rsync und shutdown /sbin davorgesetzt werden muss?
Danke & Gruß
Gersh
Re: rsync ... && shutdown -h now
wenn mein Vorschlag mit der Klammer nicht funktioniert hat, müsste aber zumindest das aus meinem Link funktionieren
man kann eben nur einen Befehl angeben. Mit der Klammer wird eine neue shell geöffnet, was mich zur Hoffnung veranlasst hat, dass es dann ebenfalls funktioniert, was es nicht getan hat, aber bei dieser Variante ist der Eintrag tatsächlich nur ein Befehl, nämlich der die Shell bash mit den Befehlen als Option aufzurufen.
Code: Alles auswählen
0 19 * * * /bin/bash -c '/usr/bin/rsync -ab --delete /media/Pfad /media/Pfad && /sbin/shutdown -h now'
Re: rsync ... && shutdown -h now
Wie ist denn der Rückgabewert von rsync. Aus 0 kann bei "Und" kein 1 mehr folgen. Folglich wird der shutdown-Beehl gar nicht ausgeführt. Bin mir aber nicht sicher ... ist noch früh am morgen.
Re: rsync ... && shutdown -h now
Die nächste Frage wäre dann:
Was soll denn passieren falls rsync mit einem Fehler endet?
Zumindest mit
anacron funktioniert so eine Konstruktion (/etc/anacrontab):
Was soll denn passieren falls rsync mit einem Fehler endet?
Zumindest mit
![Debian](/pics/debianpackage.png)
Code: Alles auswählen
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 3 rsync_Test rsync -a /root/.synaptic/log/remove.lst /home/detix/ && shutdown -r now
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: rsync ... && shutdown -h now
Hehe, Rückgabewert 0 gilt als true. Ein fehlerfreies Beenden von rsync sorgt also dafür, dass das darauffolgende shutdown ausgeführt wird. Treten bei rsync Fehler auf und ist der Rückgabewert !=0 wird shutdown nicht ausgeführt.uname hat geschrieben:Wie ist denn der Rückgabewert von rsync. Aus 0 kann bei "Und" kein 1 mehr folgen. Folglich wird der shutdown-Beehl gar nicht ausgeführt. Bin mir aber nicht sicher ... ist noch früh am morgen.
Re: rsync ... && shutdown -h now
Zunächst mal Danke für die Anregungen. Kann diese erst ab Montag testen - also nicht wundern!
Re: rsync ... && shutdown -h now
Hallo,
bekomme noch die Krise ..
Erst dachte ich, das Script wird gar nicht ausgeführt, aber zumindest der shutdown funktioniert:
Update: Wird jetzt ausgeführt! War anfangs ein Pfadfehler (Quelle/Ziel) von mir gewesen.
Ich wollte das Ganze noch etwas "verschönern":
funktioniert aber nicht. Dachte ich bekomme das auf der Konsole angezeigt. Habe auch (da im Web gesehen) ' und printf ausprobiert. Zeigt aber nichts an. Anscheinend geht das überhaupt nicht.
Funktioniert. Log werden angezeigt. War anfangs ein Pfadfehler (Quelle/Ziel) von mir gewesen.
Toll - geht das? - wäre auch eine Art Fortschrittsbalken oder eine Zeile mit den durchlaufenden Files (ggf. stehenbleibende Files bei denen es ein Fehler gegeben hat). Geht so etwas oder muss man immer in die Log-Datei schauen?
Eben gesehen: --progress (zeigt aber in der Konsole nichts an) ...
Danke für die bisherige Unterstützung
Gersh
bekomme noch die Krise ..
Erst dachte ich, das Script wird gar nicht ausgeführt, aber zumindest der shutdown funktioniert:
Code: Alles auswählen
#!/bin/bash
/sbin/shutdown -h now
exit 0
Ich wollte das Ganze noch etwas "verschönern":
Code: Alles auswählen
#!/bin/bash
echo "-------------------------------"
echo "SPIEGELUNG GESTARTET"
echo "-------------------------------"
Code: Alles auswählen
rsync -ab --delete --log-file=/var/log/rysnc_log.log /Quelle /Ziel
Toll - geht das? - wäre auch eine Art Fortschrittsbalken oder eine Zeile mit den durchlaufenden Files (ggf. stehenbleibende Files bei denen es ein Fehler gegeben hat). Geht so etwas oder muss man immer in die Log-Datei schauen?
Eben gesehen: --progress (zeigt aber in der Konsole nichts an) ...
Danke für die bisherige Unterstützung
Gersh
Re: rsync ... && shutdown -h now
Handelt es sich immer noch um den cronjob? Der hat keine Konsole, Scriptausgaben werden im Normalfall via Mail an den Eigentümer geschickt.
Re: rsync ... && shutdown -h now
Ah OK, Danke!
Re: rsync ... && shutdown -h now
So, für alle (Newbees), die auch so etwas suchen.
Meine Backup-Strategie sieht so aus:
tägliches Backup aller Arbeitsdaten auf zweite Festplatte. Server fährt danach runter:
Da durch --delete Sicherungsdateien angelegt werden und die Platte nicht irgendwann zumüllen soll.
Lösche alle Dateien mit ~ am Ende, die älter als 2 Tage UND entferne alle leeren Verzeichnisse.
Zudem sichere ich mir 1x die Woche das komplette Linux:
Danke für Eure Hilfen!
Grüße
Gersh
Meine Backup-Strategie sieht so aus:
tägliches Backup aller Arbeitsdaten auf zweite Festplatte. Server fährt danach runter:
Code: Alles auswählen
0 19 * * * /Pfad-zum-Script
#!/bin/bash
rsync -ab --delete --log-files=/Pfad-zum-Log /Quelle /Ziel
/sbin/shutdown -h now
exit 0
Lösche alle Dateien mit ~ am Ende, die älter als 2 Tage UND entferne alle leeren Verzeichnisse.
Code: Alles auswählen
0 16 * * 2 /Pfad-zum-Script
#!/bin/bash
find /Quelle -mtime +2 -type f -name "*.*~" -exec rm {} \;
find /Quelle -type d -empty -delete
exit 0
Code: Alles auswählen
0 10 * * 3 tar -czf /Ziel --exclude=media/ /
Grüße
Gersh