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

Inkrementelles backup mit Bordmitteln

mampfi

Hacker
regelmäßig sichere ich meine Datenverzeichnis auf CD.

Größe ca. 300 MB.

Nachdem sich aber nicht immer alle Daten ändern, würde ich das Ganze gerne mit Linux machen.

Das Datenverzeichnis liegt noch auf einer Win-Partition (falls das eine Rolle spielt).


Geht das nicht allzu kompliziert mit LInux-Bordmitteln?
 

jwartenb

Member
Wenn es darum geht die Dateien zu finden und ein Archiv zu erzeugen, dass dann auf eine CD gebrannt wird könnte es wie folgt gehen:
Code:
LABEL=`date +%Y%m%d%H%M%S`"_sysbk_INKR"
BKDIR=/home/backup
MYBKDIR=/home/jochen/programme/mybackup

cd $MYBKDIR
find / -newer $BKDIR/.date_sysbk_INKR -type f | afio -o -W excl_root_list -L afio.log -Z - \
	| split --bytes=1140m - $BKDIR/$LABEL.afio.gz.

RET=$?

# beim if und Klammerung auf Leerzeichen achten
if [ "$RET" = "0" ]; then
	echo "##################"
	echo "Alles gut gegangen"
	echo "##################"
	date +"%Y-%m-%d %T" > $BKDIR/.date_sysbk_INKR
	# afio -tv $BKDIR/$LABEL.afio.gz > $BKDIR/$LABEL.txt
	# Beim split werden Dateien mit extension aa, ab, ac ... zz erzeugt. Durch
	# den cat kann daraus eine Dateiliste erzeugt werden
	cat $BKDIR/$LABEL.afio.gz.* | afio -tv - > $BKDIR/$LABEL.txt
	ARET=$?
	if [ "$ARET" = "0" ]; then
		echo "Dateiliste erzeugt"
		echo "##################"
		chown jochen $BKDIR/$LABEL*
	else
		echo "Dateiliste konnte nicht erzeugt werden"
		echo "######################################"
	fi
	exit 0
else
	echo "##########################"
	echo "schief gegangen"
	echo "##########################"
	exit 1
fi
Wenn direkt auf CD geschrieben werden soll, dann suche im Web mal nach cdbackup. Es nimmt auch die Ausgabe von afio entgegen. Habe ich früher benutzt - sichert aber nur auf CD. Ich nutze inzwischen DVD.

Anmerkungen zum Code:
afio ist ein Programm ähnlich cpio oder tar, soll aber besser sein, wenn beschädigte Archive gelesen werden
.date_sysbk_INKR muss bei der ersten Nutzung angelegt werden (Referenzdatum)
excl_root_list enthält eine Liste von Dateien / Verzeichnissen, die afio ignorieren soll (bspw. /tmp)
split zerlegt die Archivdatei in Päckchen (hier 1140 MB)

Selektiert wird nach Datum - d.h. wenn Dateien mit einem Datum älter als die Referenzdatei erzeugt werden, werden sie auch nicht gesichert !!

Gruß
Jochen
 
OP
M

mampfi

Hacker
danke, cron-Job läuft schon bei mir, sichert regelmäßig linux-Daten-Verzeichnis rüber ins Win-hauptverzeichnis per cp.

(Hauptverzeichnis liegt auf Win-Seite, damit Windows auch was "sieht".)
 
Oben