• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] - Datum und Uhrzeit im Dateinamen

Tach Leuts,

ich habe folgendes Problem:

Ich möchte eine Datensicherung automatisiert ablaufen lassen. Hierzu fiel bei mir die Wahl auf den TapeArchiver, da Amanda einfach zu umfangreich für meine Bedürfnisse wäre und der TA im Vergleich zu den anderen Möglichkeiten doch am einfachsten ist.

Im Prinzip möchte ich einfach alle Dateien in einem Verzeichnis, in eine komprimierte Backup-Datei packen (bzip2), welche immer das aktuelle Datum und die Uhrzeit haben soll. Dies hat den Grund, dass ich das momentan erst teste und in zweiter Instanz in ein Shell-Skript packen werde. Ich hatte folgenden Versuch gewählt, um dies zu erreichen:
Code:
root@linux# tar cfjv /srv/backup/backup%d%m%Y%H%M.tar /srv/data/* > backup%d%m%Y%H%M.log
Wahrscheinlich werden sich nun die meisten Leute denken "son quatsch!!", aber ich bin nicht unbedingt so der Linux Guru und probiere halt noch viel aus.

Mein System ist im Übrigen SuSE 9.3.

Skripten ist erstmal noch egal, ich will erstmal nur die Datums und Zeitklamotte hinbekommen. Vielleicht kann mir jemand auch gleich noch nen Tipp geben.
Wie man am obigen Code erkennen kann, übergebe ich den Output von tar in eine Datei über. Wenn ich das Archiv im Anschluss noch mit
Code:
bzip2 -tv /srv/backup/backupxxx.tar (> backupxxx.log)
überprüfe, bekomme ich auch ein "OK" gemeldet, leute ich dies allerdings ebenfalls in die gleiche Datei von vorher um, dann wird der bisherige Inhalt überschrieben und die Datei ist quasi leer, also es wird nicht einmal der Output von der Verifizierung in die Datei geschrieben. Woran liegt das?

vielen dank für alle antworten.

greets
tsj
 

useher

Member
Hoi!
Nimm einfach so ein Konstrukt:

DATUM=$(date -d 'now' -"meineFormatierung")

und als Dateiname backup-$DATUM.tar.bz2 oder bau das Konstrukt direkt in den Namen ein.

Jedenfalls habs ich so gelöst und bin zufrieden. :wink:

Gruß Uwe
 
ja cool...danke schon mal. also das erste beispiel mit

Code:
$(date -d 'now' -"meineFormatierung")

hab ich nicht hinbekommen, weil ich den Punkt "meineFormatierung" nicht wusste. Habs mit %d%m%Y%H%M ausprobiert und auch mit DDMMYY oder auch andere Kombinationen in diesem Maße. Hat alles nicht geklappt (--help hat mir auch nicht weitergeholfen). Vielleicht kannst du mir da nochmal nen Tipp geben.

Mit
Code:
backup_$(date -I)
hat es geklappt, doch liefert dies halt nicht ganz das was ich brauche, denn die Uhrzeit muss unbedingt mit drin sein, da ggf. sogar mehrfach täglich backups gemacht werden müssen, die auch dann alle einzeln existieren müssen, können also nicht einfach überschrieben werden.

hat denn vielleicht auch noch einer ne idee wegen der outputumleitung ins file, was is oben bereits gepostet habe?
 
habs nun dank info date selbst hinbekommen.

nur zur info, meine zeile sieht dann wie folgt aus:

Code:
tar cfjv backup_$(date '+%d%m%Y%H%M%S')

irgendwie finde ich den sekundenzähler nur sehr merkwürdig lahm, aber naja.

dann bliebe nur noch mein problem mit der outputumleitung, aber das würde ich ggf. auch noch in einem extra threat posten.

vielen dank auf jeden fall, ihr habt mir sehr geholfen.

greets
tsj
 

oc2pus

Ultimate Guru
thesecondjoker schrieb:
Mit
Code:
backup_$(date -I)
hat es geklappt, doch liefert dies halt nicht ganz das was ich brauche, denn die Uhrzeit muss unbedingt mit drin sein, da ggf. sogar mehrfach täglich backups gemacht werden müssen, die auch dann alle einzeln existieren müssen, können also nicht einfach überschrieben werden.

lies "man date" dort stehen alle Optionen die man nutzen kann, auch für Zeitangaben etc ...
 
thesecondjoker schrieb:
Wie man am obigen Code erkennen kann, übergebe ich den Output von tar in eine Datei über. Wenn ich das Archiv im Anschluss noch mit
Code:
bzip2 -tv /srv/backup/backupxxx.tar (> backupxxx.log)
überprüfe, bekomme ich auch ein "OK" gemeldet, leute ich dies allerdings ebenfalls in die gleiche Datei von vorher um, dann wird der bisherige Inhalt überschrieben und die Datei ist quasi leer, also es wird nicht einmal der Output von der Verifizierung in die Datei geschrieben. Woran liegt das?
Ganz einfach:

Eine Umleitung des Outputs mit ">" überschreibt den bisherigen Inhalt der Datei. Wenn du bloss anhängen willst, dann musst du ">>" nehmen.
 
Oben