Backupdateien des PPC automatisch purgen: Unterschied zwischen den Versionen

Aus NOBAQ
Zur Navigation springenZur Suche springen
 
Zeile 78: Zeile 78:
  
 
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.
 
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 =
 +
 +
<comments />{{:{{TALKSPACE}}:{{PAGENAME}}}}
  
 
[[Kategorie:Weblog]]
 
[[Kategorie:Weblog]]

Aktuelle Version vom 2. Mai 2009, 22:14 Uhr

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

<comments />Diskussion:Backupdateien des PPC automatisch purgen