Ordnerkopie jede Stunde
Ordnerkopie jede Stunde
Ich gruesse euch liebe Community
Ich wuerde auf meinem Debian System gerne ein Script laufen lassen, welches jede Stunde eine Kopie eines Ordners erstellt.
Der neue Ordner, also das Backup, sollte dabei als Name nur die aktuelle Uhrzeit oder das Datum haben
Wie kann ich das umsetzen? Bitte um Rat
Ich wuerde auf meinem Debian System gerne ein Script laufen lassen, welches jede Stunde eine Kopie eines Ordners erstellt.
Der neue Ordner, also das Backup, sollte dabei als Name nur die aktuelle Uhrzeit oder das Datum haben
Wie kann ich das umsetzen? Bitte um Rat
Re: Ordnerkopie jede Stunde
Du hast vermutlich noch nicht viel Erfahrung auf der Kommandozeile?
Einen Befehl mit cron stündlich auszuführen ist gar kein Problem, daher würde ich einmal damit beginnen einen Befehl bzw. ein kurzes Skript zusammenzubasteln, das das macht, was du willst. »date« gibt beispielsweise Uhrzeit und Datum aus und man kann mit einem Parameter der Form "+%d.%m.%Y" (ergäbe zB 21.09.2016) festlegen wie die Zeit dargestellt wird - du könntest etwa
»cp« zum Kopieren kennst du wahrscheinlich. Da kann man die Ausgabe von date direkt in den Namen des Zielordners einbauen
Als Skript würde ich das beispielsweise etwa so schreiben
Wenn das Skript dann zufriedenstellend funktioniert, könntest du es einfach nach »/etc/cron.hourly« kopieren. Dann wird es stündlich als root ausgeführt.
Einen Befehl mit cron stündlich auszuführen ist gar kein Problem, daher würde ich einmal damit beginnen einen Befehl bzw. ein kurzes Skript zusammenzubasteln, das das macht, was du willst. »date« gibt beispielsweise Uhrzeit und Datum aus und man kann mit einem Parameter der Form "+%d.%m.%Y" (ergäbe zB 21.09.2016) festlegen wie die Zeit dargestellt wird - du könntest etwa
Code: Alles auswählen
$ date +%H:%M_%d.%m.%g
Code: Alles auswählen
$ cp -a "mein_Ordner" "Kopie_$(date +%H:%M_%d.%m.%g)"
Code: Alles auswählen
#!/bin/bash
Quellordner="/home/nutzer/mein_Ordner"
Zielordner="/home/nutzer/Kopie_$(date +%Y-%m-%d_%H-%M)"
#ueberpruefen ob der Quellordner existiert und der Zielordner noch nicht vorhanden ist
if [ ! -d "${Quellordner}" ]; then
echo "Fehler:"
echo "${Quellordner} existiert nicht!"
exit 1
fi
if [ -d "${Zielordner}" ]; then
echo "Fehler:"
echo "${Zielordner} bereits vorhanden!"
exit 1
fi
#Kopieren und falls erfolgreich abgeschlossen -> Erfolgsmeldung
cp -a "${Quellordner}" "${Zielordner}" && echo "Kopieren erfolgreich beendet."
Zuletzt geändert von smutbert am 21.09.2016 14:00:01, insgesamt 2-mal geändert.
Re: Ordnerkopie jede Stunde
Aber man verwende doch bitte ein ordentliches Datumsformat, wie:smutbert hat geschrieben:Code: Alles auswählen
$ cp -a "mein_Ordner" "Kopie_$(date +%H:%M_%d.%m.%g)"
Code: Alles auswählen
date +%Y-%m-%d_%H:%M
Auf Doppelpunkte sollte man uebrigens verzichten, wenn man die Dateien auf andere Systeme uebertragen will. AFAIR machen die bei Windows Probleme.
Use ed once in a while!
Re: Ordnerkopie jede Stunde
solche Details wollte ich dem TE überlassen
(im Skript hab ichs trotzdem angepasst)
(im Skript hab ichs trotzdem angepasst)
Re: Ordnerkopie jede Stunde
Besser gleich sinnvolle Vorschlaege machen als nacher die Folgeprobleme loesen zu muessen.smutbert hat geschrieben:solche Details wollte ich dem TE überlassen
Use ed once in a while!
Re: Ordnerkopie jede Stunde
Super, habe das Script jetzt getestet und bisschen angepasst
Sieht jetzt so aus
Problem ist jedoch: Wenn ich das in den Ordner cron.hourly reinschiebe wird es nicht stuendlich ausgefuehrt, was mache ich da falsch?
Sieht jetzt so aus
Code: Alles auswählen
#!/bin/bash
Quellordner="/home/wheel/Server"
Zielordner="/home/wheel/Backup_$(date +%Y-%m-%d_%H-%M).tar"
#ueberpruefen ob der Quellordner existiert und der Zielordner noch nicht vorhanden ist
if [ ! -d "${Quellordner}" ]; then
echo "Quellordner existiert nicht!"
exit 1
fi
if [ -d "${Zielordner}" ]; then
echo "Zielordner bereits vorhanden!"
exit 1
fi
#Kopieren und falls erfolgreich abgeschlossen -> Erfolgsmeldung
screen tar -zcvf "${Zielordner}" "${Quellordner}" && echo "Archivieren erfolgreich beendet!"
Re: Ordnerkopie jede Stunde
Hast du es ausführbar gemacht?
Code: Alles auswählen
# chmod +x /etc/cron.hourly/mein-skript
Re: Ordnerkopie jede Stunde
Als Anregung, wie du platzsparender Backups mit BTRFS anlegen könntest:
http://www.admin-magazin.de/Das-Heft/20 ... -Snapshots
http://www.admin-magazin.de/Das-Heft/20 ... -Snapshots
Re: Ordnerkopie jede Stunde
Es hat vermutlich einen Punkt im Namen ... ein ueblicher Fehler. Siehe run-parts(8).Knogle hat geschrieben: Problem ist jedoch: Wenn ich das in den Ordner cron.hourly reinschiebe wird es nicht stuendlich ausgefuehrt, was mache ich da falsch?
Use ed once in a while!