#!/bin/bash host="FTP-HOST" user="FTP-USER" pass="FTP-PASS" ftpdir="autobackup" mysqladmin="MYSQL-ADMIN" mysqlpass="MYSQL-PASS" dirlist="list.txt" delday="5" datum=$(date +%G%m%d) echo "$(date +%b) $(date +%e) $(date +%T) $(uname -n) Backupscript: start" >> /var/log/messages mkdir /tmp/backup-${datum}/ tar cfvz /tmp/backup-${datum}/home-${datum}.tar.gz /home tar cfvz /tmp/backup-${datum}/vhosts-${datum}.tar.gz /srv/www/vhosts tar cfvz /tmp/backup-${datum}/mysql_dir-${datum}.tar.gz /var/lib/mysql for i in $(mysql -u$mysqladmin -p$mysqlpass -Bs -e "show databases") do mysqldump -u$mysqladmin -p$mysqlpass --opt --quote-names "$i" | bzip2 -c > "/tmp/backup-${datum}/$i-$datum.sql.bz2" done ncftpput -u $user -p $pass $host /$ftpdir /tmp/backup-${datum}/* rm -R /tmp/backup-${datum}/ ncftpls -u $user -p $pass ftp://$host/$ftpdir/ >> $dirlist backupdel="0" while read test; do case $test in .) ;; ..) ;; *) zeile=$(echo $test | awk -v FS="." '{print $1}') tagx=$(echo $zeile | awk -v FS="-" '{print $2}') heute=$(date +%Y%m%d) tage=$((($(date +%s --date $heute)-$(date +%s --date $tagx))/86400)) if (($tage>=$delday)); then loeschen="$loeschen $test" backupdel="1" else echo "$test uebersprungen" fi ;; esac done<$dirlist rm $dirlist case $backupdel in 0) ;; 1) $( ftp -in <> /var/log/messages