Backupdateien des PPC automatisch purgen

Aus NOBAQ
Version vom 2. Mai 2009, 22:14 Uhr von Niki (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Durch die Verwendung von MightySync eröffnen sich nun völlig neue Möglichkeiten. Ich lasse jede Nacht per "Spb Backup" ein komplettes Backup des PPC auf die SD Karte erstellen (der ja oft abstürzt). Die Backupdateien sind komprimiert und verschlüsselt und ich lasse die alten Backupdateien leben. Kann ja sein, dass ich einmal was vorige Woche gelöscht hab, dass ich jetzt noch brauch! Bis jetzt habe ich die Backupdateien immer manuell in eine Archivverzeichnis am Server verschoben...


doch das erledigt jetzt ein Script.

#!/bin/bash
 
# (c) 2006-04-23, Nikolaus Hammler <nobaq@sbox.tugraz.at>
# cron-script to remove old backup entries from synchronized PPC dir
# and move them to archive
 
src="/home/niki/daten/offline/mobile/Speicherkarte/Backups" mce_src="/home/niki/daten/offline/mobile/Speicherkarte/Backups"
dst="/home/niki/daten/PocketPC_Backup"
 
if ! test -d "$src"
then
	echo "source dir does not exist"
	exit 1
fi
 
if ! test -d "$dst"
then
	echo "dest dir does not exist"
	exit 1
fi
 
function is_lt_yesterday()
{
	#local y=${1:0:4}
	#local m=${1:4:2}
	#local d=${1:6:2}
	#test $y -lt 1004 -o $y -gt 2010 && return 2
	#test $m -lt 1 -o $m -gt 12 && return 3
	#test $d -lt 1 -o $d -gt 31 && return 4
 
	touch -d 2yesterday /tmp/cmp1
	touch -d $1 /tmp/cmp2
	dir -l /tmp/cmp1
	dir -l /tmp/cmp2
	local ret
 
	test /tmp/cmp2 -ot /tmp/cmp1
 
	ret=$?
 
	rm -f /tmp/cmp1
	rm -f /tmp/cmp2
 
	return $ret
}
 
 
for file in $src/Backup_*.{exe,txt}
do
	f=`basename $file`
	d=`dirname $file`
	datum=${f:7:8}
	is_lt_yesterday $datum
 
	case "$?"
	in
		0)
			echo "File is too old, move to archive ($file)"
			mv -v "$file" "$dst"
			;;
		1)
			echo "File is too new, keep ($file)"
			;;
		*)
			echo "error, code $?"
			;;
	esac
done

Es geht sicher schöner, aber was solls. Das Script wird jeden Tag per cron aufgerufen und verschiebt alle Backupdateien, die älter als 2 Tage sind, in das Archivverzeichnis. Interessant ist das '2yesterday' von touch - ich habe es nirgends in der Dokumentation finden können sondern nur rein zufällig in google-groups.

Kommentare

Diskussion:Backupdateien des PPC automatisch purgen
Meine Werkzeuge