|
本帖最后由 myzim 于 2013-5-6 19:21 编辑
[ol]#你要修改的地方从这里开始MYSQL_USER=root #mysql用户名MYSQL_PASS=qq123 #mysql密码MAIL_TO=qq@gmail.com #数据库发送到的邮箱FTP_USER=qq@gmail.com #ftp用户名FTP_PASS=qq123 #ftp密码FTP_IP=onlinefilefolder.com #ftp地址FTP_backup=backup #ftp上存放备份文件的目录,这个要自己得ftp上面建的WEB_DATA=/home/wwwroot/qq.com #要备份的网站数据#你要修改的地方从这里结束[/ol]复制代码建目录:[ol]mkdir -p /home/backup[/ol]复制代码首先安装Email发送组件[ol]apt-get install sendmail mutt[/ol]复制代码VPS安装好lftp:[ol]apt-get install lftp[/ol]复制代码接着给脚本执行权限[ol]chmod +x AutoBackupToFtp.sh[/ol]复制代码Debian下面安装Crontab命令:
apt-get install cron //大部分情况下Debian都已安装。
/etc/init.d/cron restart //重启Crontab
添加crontab定时执行任务
crontab -e
输入[ol]00 00 * * * /root/AutoBackupToFtp.sh[/ol]复制代码(脚本存放路径。这样就实现了每天00:00自动备份网站文件和数据库上传到FTP空间)
Ctrl+x退出,再输y 回车保存。
更多的crontab使用方法参考军哥的。 Linux VPS/服务器上用Crontab来实现VPS自动化 http://www.vpser.net/manage/crontab.html
debian下crontab不执行的解决方案,多数是时区问题。
解决方案:
debian中cron会读/etc/timezone来做为时区,我们需要编辑
/etc/timezone,把里面全部删除,然后添加Asia/Shanghai,这样是设置为上海时区,最后重启一下cron,再运行看看是否生效。
更多原因请参考主机码的帖子:http://www.hostloc.com/thread-122182-1-1.html
最后贴一个脚本代码,猫大的原来是ftp,看到很多基友反应debian下ftp不能成功备份。我已经改成lftp的。代码如下:[ol]#!/bin/bash#你要修改的地方从这里开始MYSQL_USER=root #mysql用户名MYSQL_PASS=qq123 #mysql密码MAIL_TO=qq@gmail.com #数据库发送到的邮箱FTP_USER=qq@gmail.com #ftp用户名FTP_PASS=qq123 #ftp密码FTP_IP=onlinefilefolder.com #ftp地址 (ip或者域名)FTP_backup=backup #ftp上存放备份文件的目录,这个要自己得ftp上面建的WEB_DATA=/home/wwwroot/qq.com #要备份的网站数据#你要修改的地方从这里结束#定义数据库的名字和旧数据库的名字DataBakName=Data_$(date +"%Y%m%d").tar.gzWebBakName=Web_$(date +%Y%m%d).tar.gzOldData=Data_$(date -d -5day +"%Y%m%d").tar.gzOldWeb=Web_$(date -d -5day +"%Y%m%d").tar.gz#删除本地3天前的数据rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz /home/backup/Web_$(date -d -3day +"%Y%m%d").tar.gzcd /home/backup#导出数据库,一个数据库一个压缩文件for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do(/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 > ${db}.sql.gz)done#压缩数据库文件为一个文件tar zcf /home/backup/$DataBakName /home/backup/*.sql.gzrm -rf /home/backup/*.sql mysqldata#发送数据库到Email,如果数据库压缩后太大,请注释这行echo "主题:数据库备份" | mutt -a /home/backup/$DataBakName -s "内容:数据库备份" $MAIL_TO#压缩网站数据tar zcf /home/backup/$WebBakName $WEB_DATA#上传到FTP空间,删除FTP空间5天前的数据lftp $FTP_IP -u $FTP_USER,$FTP_PASS 复制代码
(1.02 KB, 下载次数: 674)
2013-5-6 19:21 上传
点击文件名下载附件
debian 6 32位运行成功,理论上 debian和Ubuntu 都支持。。。
新人备份数据必备,老鸟飘过!参考各位前人的经验总结了一下,造福大家哈,
ftp空间推荐GODADDY ONLINE STORAGE。
centos 的版本可以去猫大的空间看,不再累赘啦,
猫大的centos版本链接
http://imcat.in/auto-backup-site-files-database-upload-ftp/
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|