|
#/bin/bash
BackuPath=/opt/backup/
WebPath=/usr/local/apache2/htdocs/
DATE=`date +%Y%m%d`
WebBakFIle=web${DATE}.tar.bz2
DBFile=DB${DATE}.tar.bz2
DBuser='root'
DBpassword='123'
FTPserver=192.168.1.107
FtpTargetPath='ftp/backup'
LogFile=/opt/backup/baklog.txt
OldWebBak=web`date -d -5day +"%Y%m%d"`.tar.bz2
OldDbBak=DB`date -d -5day +"%Y%m%d"`.tzr.bz2
cd $WebPath
pwd >> $LogFile
tar jcf $WebBakFIle * | mv $WebBakFIle $BackuPath
cd $BackuPath
for db in ` mysql -u$DBuser -p$DBpassword -B -N -e 'show databases;' `
do
mysqldump -u$DBuser -p$DBpassword --single-transaction $db > ${db}.sql
done
tar jcf $DBFile /opt/backup/*.sql
ls -la | grep 20141129 | awk ' {print $8" "$5/1024/1024"MB"}' >> $LogFile
pwd
ftp -v -n $FTPserver << END
user lbx qwe123
bin
cd $FtpTargetPath
ls -l
put $DBFile
put $WebBakFIle
bye
END
rm -rf OldWebBak rm -rf OldDbBak
if [ $?=1 ];then
echo $(date +"%y-%m-%d %H:%M:%S") ftp had been put file >> $LogFile
else
echo $(date +"%y-%m-%d %H:%M:%S") filed!!! >> $LogFile
fi
echo "hello,GOOD BOY!!!" | mutt -a baklog.txt -s "date" -18507656226@163.com
文件被成功备份:
每日凌晨4点自动备份:
[iyunv@localhost opt]# crontab -l
0 4 * * * bash /opt/echo.sh
|
|