#!/bin/bash #dieses Skript wird als root ausgeführt LOGDATUM=`date` #dieses Skript schreibt die Ausgaben die es eigentlich macht, in eine log Datei, da es durch einen Cronjob gestartet wird echo "$LOGDATUM starting backup...." > /tmp/backup_rsync.log HEUTE=`date +%w` #hier wird ersteinmal ermittelt welcher Wochentag gerade ist, damit immer noch backups von den vorherigen Tagen existieren #die Wochentagsendung wird als suffix für den Ordnernamen benutzt, indem das Backup gespeichert wird case "$HEUTE" in 1) WOCHENTAG='mo' ;; 2) WOCHENTAG='tu' ;; 3) WOCHENTAG='we' ;; 4) WOCHENTAG='th' ;; 5) WOCHENTAG='fr' ;; 6) WOCHENTAG='sa' ;; 0) WOCHENTAG='su' ;; *) echo "Wochentag nicht zugewiesen" >> /tmp/backup_rsync.log exit 0 ;; esac #hier wieder das gleiche Spiel, alles wird in eine log Datei geschrieben LOGDATUM=`date` echo "$LOGDATUM directory suffix: $WOCHENTAG" >> /tmp/backup_rsync.log LOGDATUM=`date` echo "$LOGDATUM copy /home/user2/" >> /tmp/backup_rsync.log rsync -e 'ssh -q -i /root/.ssh/vserver-homeserver.rsync -l user -p 6666' -avz --delete /home/user2/ adresse.dyndns.org:/home/user/backup/vserver_$WOCHENTAG/home/user2/ >> /tmp/backup_rsync.log LOGDATUM=`date` echo "$LOGDATUM copy /var/lib/mysql/" >> /tmp/backup_rsync.log rsync -e 'ssh -q -i /root/.ssh/vserver-homeserver.rsync -l user -p 6666' -avz --delete /var/lib/mysql/ adresse.dyndns.org:/home/user/backup/vserver_$WOCHENTAG/var/lib/mysql/ >> /tmp/backup_rsync.log LOGDATUM=`date` echo "$LOGDATUM copy /etc/" >> /tmp/backup_rsync.log rsync -e 'ssh -q -i /root/.ssh/vserver-homeserver.rsync -l user -p 6666' -avz --delete /etc/ adresse.dyndns.org:/home/user/backup/vserver_$WOCHENTAG/etc/ >> /tmp/backup_rsync.log LOGDATUM=`date` echo "$LOGDATUM copy /var/www/ (exclude /var/www/site/archiv)" >> /tmp/backup_rsync.log rsync -e 'ssh -q -i /root/.ssh/vserver-homeserver.rsync -l user -p 6666' -avz --delete --exclude="site/archiv" /var/www/ adresse.dyndns.org:/home/user/backup/vserver_$WOCHENTAG/var/www/ >> /tmp/backup_rsync.log LOGDATUM=`date` echo "$LOGDATUM copy /home/user/" >> /tmp/backup_rsync.log rsync -e 'ssh -q -i /root/.ssh/vserver-homeserver.rsync -l user -p 6666' -avz --delete /home/user/ adresse.dyndns.org:/home/user/backup/vserver_$WOCHENTAG/home/user/ >> /tmp/backup_rsync.log LOGDATUM=`date` echo "$LOGDATUM backup done..." >> /tmp/backup_rsync.log #nachdem die Daten übertragen wurden, wird die log Datei als mail an root gesendet cat /tmp/backup_rsync.log | mailx -a "From: vserver@domain.info" -s "rsync backup $LOGDATUM" root #als letztes wird die temporäre log Datei noch in eine Feste Logdatei gespeichert cat /tmp/backup_rsync.log >> /var/log/backup_rsync.log exit 0