| 
 | 
 
#!/bin/bash 
#author: 505056357@qq.com 
echo "backup job start" 
#设置要备份的网站目录,即是网站的根目录 
file=/home/wwwroot/default 
#设置本地备份目录,用于存放打包后的文件 
backpath=/home/wwwroot/bkdata/ 
dbuser=root 
#数据密码,要记得用单引号将把整个密码引起来,如果密码中有单引号就用双引号,嘿嘿 
dbpwd='123456' 
dbname=car 
domain=192.168.0.187 
user=ftpuser 
userpwd='123456' 
bkdate=$(date +%Y%m%d) 
sqlfile_sql=${dbname}_${bkdate}.sql 
sqlfile_gz=${dbname}_${bkdate}.tar.gz 
sqlfp=${backpath}${bkdate}/$sqlfile_sql 
if [ -e $backpath${bkdate} ] 
then 
        echo $backpath is exists. 
else 
        mkdir -p $backpath${bkdate} 
fi 
#执行数据库备份,/apps/mysql/bin/mysqldump修改为你实际环境的路径 
/apps/mysql/bin/mysqldump -u $dbuser -p$dbpwd $dbname > ${sqlfp} 
#对备份之后的数据库文件压缩,或者在数据库备份时通过加入参数直接进行压缩 
tar zcf $backpath${bkdate}/$sqlfile_gz -C ${backpath}${bkdate} ${sqlfile_sql} 
#删除未压缩SQL的文件 
rm -f ${sqlfp} 
#生成的文件名格式:web_网站目录名_20130419.tar.gz 
fn=web_${file##*/}_${bkdate}.tar.gz 
tar zcf $backpath${bkdate}/$fn -C ${file%/*} ${file##*/} 
#以下操作为FTP自动连接并把本地文件上传到异地服务器上 
/usr/bin/lftp ${domain} << END 
user ${user} ${userpwd} 
lcd ${backpath} 
mirror -R ${bkdate} 
exit 
END 
echo "backup job done" 
 
 
 |   
 
 
 
 |