Loner
Aktives Mitglied
Thread Starter
- Dabei seit
- 30.04.2006
- Beiträge
- 130
- Reaktionspunkte
- 4
Hallo,
ich habe mir ein kleines Backup-Skript für meinen USB-Stick gebastelt, das ich hier gerne zur Diskussion stellen würde.
Meiner Ansicht nach ist sowas ganz praktisch, da auf dem Stick wichtige Daten drauf sind und der Stick leicht mal verloren werden bzw. kaputt gehen kann.
Ablauf:
Falls der Stick angeschlossen ist, werden stündlich bestimmte (wichtige) Dateien/Verzeichnisse auf dem Stick in eine tgz-Datei auf der Platte gespeichert. Es werden nicht alle Dateien gesichert, da das zu lange dauern würde und die Archive zu groß sind.
Momentan ist ein Archiv ca. 90MB.
Falls mehr als 3 Archive im Backup-Ordner sind, werden alle bis auf die 3 neuesten gelöscht.
Das Skript sieht so aus:
Das Skript wird dann noch in die crontab eingebunden:
Wie macht ihr das so? Verbesserungsvorschläge?
ich habe mir ein kleines Backup-Skript für meinen USB-Stick gebastelt, das ich hier gerne zur Diskussion stellen würde.
Meiner Ansicht nach ist sowas ganz praktisch, da auf dem Stick wichtige Daten drauf sind und der Stick leicht mal verloren werden bzw. kaputt gehen kann.
Ablauf:
Falls der Stick angeschlossen ist, werden stündlich bestimmte (wichtige) Dateien/Verzeichnisse auf dem Stick in eine tgz-Datei auf der Platte gespeichert. Es werden nicht alle Dateien gesichert, da das zu lange dauern würde und die Archive zu groß sind.
Momentan ist ein Archiv ca. 90MB.
Falls mehr als 3 Archive im Backup-Ordner sind, werden alle bis auf die 3 neuesten gelöscht.
Das Skript sieht so aus:
Code:
#!/bin/ksh
TimeStamp=$( date "+%Y%m%d_%H%M")
WorkPath=/Users/loner/backup
if [ -f /Volumes/USB/irgendeinfile ] # damit "erkenne" ich, ob der Stick angeschlossen ist.
then
tar czvf $WorkPath/backup_${TimeStamp}.tgz /Volumes/USB/kochrezepte/* /Volumes/USB/wunschzettel/* /Volumes/USB/weltherrschaft/* /Volumes/USB/Dokumente/* /Volumes/USB/*.doc /Volumes/USB/*.xls /Volumes/USB/*.pdf
fi
ls -1art $WorkPath/backup_* >liste #Dateiliste in ne Datei schreiben, damit man dann später mit head Dateinamen ausschneiden kann
integer anz=$(wc -l liste | awk '{ print $1 }')
if [ $anz -gt 3 ]
then
(( y = $anz - 3 ))
loeschen=$(head -n$y liste)
for i in $loeschen # alten Schrott wegwerfen
do
rm -f $WorkPath/$i
done
fi
rm -f liste
Das Skript wird dann noch in die crontab eingebunden:
Code:
Utopia:~/backup loner$ crontab -l
0 * * * * /Users/loner/backup/usb_backup.sh
Wie macht ihr das so? Verbesserungsvorschläge?
Zuletzt bearbeitet: