bash | schnelles Backup anlegen

Bei Jann habe ich Fol­gen­des unter dem Stich­wort In der Shell schnell mal alle Dateien im Ver­zeich­nis nach *.bak sichern gelesen:

Kurz­no­tiz, gilt für Mac / Linux / Unix / (bei Win­dows hilft nur “for­mat c:” ;) )
Oft muss ich in einem Ord­ner schnell mal alle Dateien sichern als Backup da ich sie im nächs­ten Moment über­schreibe. Um nicht den gan­zen über­ge­ord­ne­ten Ord­ner gleich kom­plett sichern zu müs­sen son­dern nur die Dateien im aktu­el­len Ord­ner ohne Unter­ver­zeich­nisse zu sichern habe ich fol­gen­den befehl:
for i in *.*; do cp $i $i.bak ;done
Alle Dateien im Ord­ner wer­den dann von xyz.txt nach xyz.txt.bak kopiert, wer anstelle des kopie­ren die Daten ver­schie­ben will ersetzt im script ein­fach “cp” mit “mv” Wer in einem Ver­zeich­nis nur bestimmte Datei­ty­pen z.B. *.html sichern mag macht dies dann so:
for i in *.html; do cp $i $i.bak ; done
somit wer­den an alle *.html Dateien im Ord­ner nach *.html.bak gesi­chert Das glei­che geht mit jedem belie­bi­gen Dateityp ^^

Lange habe ich drü­ber nach­ge­dacht, da ich den Ansatz etwas zu kom­pli­ziert finde und da ich gerade in dem Buch Ein­füh­rung in die BASH lese und mal schauen wollte, was davon bei mir hän­gen geblie­ben ist, habe ich fol­gen­des ausprobiert:

tar -cz --no-recursion -f backup-$(date +%F-%H-%M).tar.gz *

Das Ganze als Alias defi­niert mit Überg­abe der Datei­ex­ten­sion sieht dann so aus:

alias archive='tar -cz --no-recursion -f backup-$(date +%F-%H-%M).tar.gz $1'

Damit kann man spä­ter schnell mit

archive *.html

schnell alle HTML-Files eines Ver­zeich­nis­ses sichern und weiß gleich von wann die Siche­rung ist.

Ähnli­che Arti­kel zu die­sem Thema:

  1. bash | Back­ups mit tar
  2. debian | Backup per SSH
  3. iPhone | Ein­zelne Daten aus dem Backup zurückspielen
  4. bash | History aufwerten
  5. bash | Shell einrichten

  1. Auch ne klasse Lösung !

  1. 22. Nov. 2009
:) :( ;) :mrgreen: :lol: :roll: :idea: :oops: more »


9 × = achtzehn