Servus. Letzte Woche nervte mich alles an und der Laptop musste neu gemacht werden. Nachdem ich alles gesichert und neu Installiert hatte, fiel mir auf, das ich ca. nur 3/4 gesichert hatte. Gut, ich hatte alles vorher schon etwas gesichert, dennoch nervte es. Also entschied ich mich, endlich mal auf Backups zu setzen.

Also befasste ich mich ein wenig mit Backups und fand rsync das für mich passende. Und wer mich kennt, der weiß, das mir eine kleine Befehlszeile einfach nicht reicht ^^

Als Ziel fand ich den Manitu-Server recht Interessant, da ich den eh schon als Backup-Server auserkoren hatte.

So schrieb ich, kopiert aus diversen Foren die erste Backup-Zeile. Drumherum schrieb ich das ganze andere, herausgekommen ist dann das:

#!/bin/bash
# Grundlegendes
serverip=10.0.0.221
servermac=00:31:44:71:50:aa
machine=klapptop
 
# Dingsbums
/usr/bin/wol $servermac
 
# Mindestens 120 Sekunden warten...
secs=$((1 * 120))
while [ $secs -gt 0 ]; do
clear
echo "Warte noch $secs Sekunden..."
sleep 1
: $((secs--))
done
 
# Geteste ... 
if /usr/bin/ping -qc 5 $serverip >/dev/null; then
 
# Excludes
excludes="\
	--exclude=home \
	--exclude=root \
	--exclude=var/cache \
	--exclude=var/log \
	--exclude=tmp \
	--exclude=proc \
	--exclude=sys \
	--exclude=run \
	--exclude=dev/pts \
	--exclude=dev/shm \
	--exclude=.backups \
"
 
# Start
/usr/bin/rsync --numeric-ids -avz $excludes --delete \
--delete-excluded --chmod u+rwx -e "ssh -i /$HOME/.ssh/id_rsa" "/" \
root@$serverip:/srv/ftp/$machine/system/
 
secss=$((1 * 20))
while [ $secss -gt 0 ]; do
clear
echo "Shutdon - Warte noch $secss Sekunden..."
sleep 1
: $((secss--))
done
ssh root@$serverip /sbin/halt -p > /dev/null
 
else
echo "ALTER!!! Irgendwas ist da kaputt!!" > /root/backup_cron_fail.txt
fi

Was macht das Script? Ganz einfach:
Es startet den Server (WOL), wartet 120 Sekunden (71 Sekunden BIOS, 27 Sekunden Boot, etwas Puffer…), schiebt die Daten, außer die Ordner im exclude-block, per rsync hoch (Hier noch ein riesen Dank an Manuel für die Tipps :-) ) und fährt (nach einen weiteren 20 Sekunden-Puffer) den Server wieder runter.

Flattr this!