全球主机交流论坛
标题:
一键备份脚本 网站及数据库 至邮箱和ftp debian6 版本
[打印本页]
作者:
myzim
时间:
2013-2-6 22:00
标题:
一键备份脚本 网站及数据库 至邮箱和ftp debian6 版本
本帖最后由 myzim 于 2013-5-6 19:21 编辑
#你要修改的地方从这里开始
MYSQL_USER=root #mysql用户名
MYSQL_PASS=qq123 #mysql密码
[email protected]
#数据库发送到的邮箱
[email protected]
#ftp用户名
FTP_PASS=qq123 #ftp密码
FTP_IP=onlinefilefolder.com #ftp地址
FTP_backup=backup #ftp上存放备份文件的目录,这个要自己得ftp上面建的
WEB_DATA=/home/wwwroot/qq.com #要备份的网站数据
#你要修改的地方从这里结束
复制代码
建目录:
mkdir -p /home/backup
复制代码
首先安装Email发送组件
apt-get install sendmail mutt
复制代码
VPS安装好lftp:
apt-get install lftp
复制代码
接着给脚本执行权限
chmod +x AutoBackupToFtp.sh
复制代码
Debian下面安装Crontab命令:
apt-get install cron //大部分情况下Debian都已安装。
/etc/init.d/cron restart //重启Crontab
添加crontab定时执行任务
crontab -e
输入
00 00 * * * /root/AutoBackupToFtp.sh
复制代码
(脚本存放路径。这样就实现了每天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.lilynana.eu.org/thread-122182-1-1.html
最后贴一个脚本代码,猫大的原来是ftp,看到很多基友反应debian下ftp不能成功备份。我已经改成lftp的。代码如下:
#!/bin/bash
#你要修改的地方从这里开始
MYSQL_USER=root #mysql用户名
MYSQL_PASS=qq123 #mysql密码
[email protected]
#数据库发送到的邮箱
[email protected]
#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.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz
OldWeb=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.gz
cd /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.gz
rm -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 << EOF
cd $FTP_backup
mrm $OldData
mrm $OldWeb
mput $DataBakName
mput $WebBakName
bye
EOF
复制代码
(, 下载次数: 715)
上传
点击文件名下载附件
debian 6 32位运行成功,理论上 debian和Ubuntu 都支持。。。
新人备份数据必备,老鸟飘过!参考各位前人的经验总结了一下,造福大家哈,
ftp空间推荐GODADDY ONLINE STORAGE。
centos 的版本可以去猫大的空间看,不再累赘啦,
猫大的centos版本链接
http://imcat.in/auto-backup-site-files-database-upload-ftp/
作者:
chenjiesuper
时间:
2013-2-6 22:01
不错不错。。。。。。。。。
作者:
随风舞
时间:
2013-2-6 22:02
感谢猫大分享!!!!!
作者:
sdgl212
时间:
2013-2-6 22:02
+100
作者:
bangbangbang
时间:
2013-2-6 22:05
感谢猫大分享!!!!!
作者:
wdlth
时间:
2013-2-6 22:05
谁做个至N个网盘,XAE版本。
作者:
各方面
时间:
2013-2-6 22:07
提示:
作者被禁止或删除 内容自动屏蔽
作者:
osiris
时间:
2013-2-6 22:08
wput 更稳定
作者:
atrong
时间:
2013-2-6 22:15
感谢分享
作者:
恢复自我
时间:
2013-2-6 22:17
是的 之前都有备份成功的
作者:
Andreas
时间:
2013-2-6 22:25
帮顶
我用的是备份到dropbox的shell
作者:
David
时间:
2013-2-6 23:14
感谢分享
欢迎光临 全球主机交流论坛 (https://lilynana.eu.org/)
Powered by Discuz! X3.4