I wrote this backup script. I run rsync, tar and a dump of mysql.
I'd like to add some features like email alert or some kind of statistic.
Here is the script:
#!/bin/sh
DATE=`date +%D-%T`
ORIGIN=/home/share/
DEST=/media/BACKUP/mercurio/
LOGFILE=log.txt
echo "=====Starting backup on $DATE =====" >> $LOGFILE
echo "==Start rsync" >> $LOGFILE
rsync -arHu --delete --stats $ORIGIN $DEST/share >> $LOGFILE
wait
if [ $? -eq 0 ]
then
echo "==rsync ok" >> $LOGFILE
else
echo "==rsync ko" >> $LOGFILE
fi
echo "==Sart TAR" >> $LOGFILE
tar -czf $DEST`date +%y%m%d-%T`.tar.gz $ORIGIN
wait
if [ $? -eq 0 ]
then
echo "==tar ok" >> $LOGFILE
else
echo "==tar ko" >> $LOGFILE
fi
echo "==Start DUMP" >> $LOGFILE
mysqldump -u root -ptoor --all-databases > ${DEST}databases/`date +%Y%m%d-%k:%M`.sql
wait
if [$? -eq 0 ]
then
echo "==dump ok" >> $LOGFILE
else
echo "==dump ko" >> $LOGFILE
fi
echo "=====End Bakcup=====" >> $LOGFILE
2>>.>>is like1>>and redirects stdout only. Also use--log-error=filename.logfor mysqldump. – Teresa e Junior Feb 3 '12 at 14:21