[Server]Im Zeitintervall automatisch Ordner archivieren

flik210

Ensign
Registriert
Apr. 2011
Beiträge
174
[Gelöst]Minecraft FTB Welt automatisch als tar speichern

Gibt es ein Script/Programm, mit dem ich z.B. alle 12 Stunden einen Ordner in ein tar Archive packen kann und das Archive, dass länger als 2 Tage alt ist automatisch gelöscht wird?

Zweck: Ich will auf einem Linux Server (Debian 8) alle 12 Stunden ein Backup meiner Minecraft(FTB) Welt machen. Und damit die Festplatte nicht voll läuft soll das älteste Backup gelöscht werden. Ich will, dass ich immer 3 Backup zur Verfügung haben, die am besten nach Datum und Uhrzeit benannt sind
 
Zuletzt bearbeitet:
Ein Skript und das per crontab alle 12 Stunden ausführen?

Leider kann ich nur laienhaft dieses Skript schreiben und verzichte darauf hier ein vorgeschriebenes zu präsentieren.
 
find /pfad/zum/backup/* -mmin +2161 -exec rm {} \;
datum=$(date +"%Y%m%d%H")
tar -zcf /pfad/zum/backup/$datum.tar.gz /zu/sicherndes/verzeichnis/

Das als Script speichern, per crontab-Generator eine passende Crontab-Linie generieren und eintragen.

Für Richtigkeit wird nicht garantiert :)
 
Zuletzt bearbeitet:
MusicJunkie666 schrieb:
datum=$date +("%Y%m%d%H)

Vielen dank, aber bei dieser Zeile bekomme ich einen Syntax error
Code:
./backup.sh: line 25: syntax error near unexpected token `('
./backup.sh: line 25: `datum=$date +("%Y%m%d%H) '
Außerdem, wenn ich $date ins Terminal schreibe, bekomme ich keine Ausgabe. Nur wenn ich date schreibe kommt das Datum raus
EDIT: es mit dem Datum hinbekommen. So sieht die Zeile bei mir aus:
Code:
tar -zcf mcbackup/mcwelt.`date "+%Y-%m-%d-%H:%M"`.tar.gz Minecraft/world/
Jetzt fehlt nur noch der Befehl, der mit die Backups löscht, die länger als 2 Tage alt sind.
Als ich beim letzten mal so einen Befehl ausgeführt hat
Code:
find $backupDest* -mtime +2 -exec rm {} -fv \;
Hat er mir alle Dateien gelöscht, die älter als 2 Tage sind
 
Zuletzt bearbeitet:
AW: [Gelöst]Minecraft FTB Welt automatisch als tar speichern

Klar, so kann man das mit dem Datum auch machen. Kommt aufs Selbe.
Habe den Fehler in meinem Script oben ausgebessert.

Der Lösch-Befehl den du da hast kann auch nicht funktionieren, außer du hast eine Variable $backupDest. Wenn du die nicht hast, werden ALLE Dateien, die älter als zwei Tage sind gelöscht. Deswegen steht in meinem Beispielbefehl der direkte Pfad; damit kann das nicht passieren.
Außerdem löscht mein Befehl nur alle Dateien die älter als 36h sind.
 
Zurück
Oben