估计是刚换的模板,没有仔细看,我瞅瞅。
Written by nonozone2013/08/09
FTP自动备份VPS脚本
软件 Article
服务器多了,网站也越来越多,总觉得不整个备份心里放不下心,并且有好几次rm的操作失误,造成难以挽回的损失。并且大多数的VPS提供商是不提供自动备份功能或者此功能收费价格略高。所以自己还是有必要把这个工作落实一下,说不定哪天就用到了。
使用的备份空间我自己是用的是Godaddy的Online Storage,优点在于,我的VPS都是美国服务商,选用Godaddy的空间传输速度比较有保证,另外最关键的价格也能接受,100G空间一年下来不到30美金,鉴于目前美金对人民币的汇率,这个价格我觉得已经相当优惠了。
脚本很简单,大家可以根据自己的需要修改相关内容,此处主要借鉴了Linux VPS自动备份:脚本上传FTP及RSYNC增量备份,我主要是针对debian系统稍微调整了一句,大家也可以参考一下。
#!/bin/bash #你要修改的地方从这里开始 MYSQL_USER=root #mysql用户名 MYSQL_PASS=123456 #mysql密码 MAIL_TO=admin@xxx.com #数据库发送到的邮箱 FTP_USER=yonghuming #ftp用户名 FTP_PASS=123456 #ftp密码 FTP_IP=*.*.*.* #ftp地址 FTP_backup=/www/backup #ftp上存放备份文件的目录,这个要自己得ftp上面建的 WEB_DATA=/home/wwwroot #要备份的网站数据 #你要修改的地方从这里结束 #定义数据库的名字和旧数据库的名字 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 `mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do (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.gz #发送数据库到Email,如果数据库压缩后太大,请注释这行 #echo "主题:数据库备份" | mutt -a /home/backup/$DataBakName -s "内容:数据库备份" $MAIL_TO #压缩网站数据 tar zcf /home/backup/$WebBakName $WEB_DATA #上传到FTP空间,删除FTP空间5天前的数据 ftp -v -n $FTP_IP << END user $FTP_USER $FTP_PASS type binary cd $FTP_backup delete $OldData delete $OldWeb put $DataBakName put $WebBakName bye END
需要注意的就是,备份目录/home/backup需要自己创建。然后在/root下创建这个AutoBackupToFtp.sh,并且赋予可执行权限
chmod +x /root/AutoBackupToFtp.sh
接下来为了能够定期自动备份,我们需要添加一个cron时钟任务
crontab –e
在文件最后添加下面一行
00 03 * * * /root/AutoBackupToFtp.sh
那个03就是凌晨3点,你可以根据自己网站访问情况自动调整,选择一个访问量比较小的时刻,不然如果网站文件过多,打包动作还是会给服务器造成一定的负担。
脚本下载:https://github.com/nonozone/TEMP/blob/master/AutoBackupToFtp.sh
文章内容中插入了太多的“阅读更多”的链接…
Android 山寨板我买一台退一台,基…
仅仅是推送的流量...
貌似留言功能有问题呢……跳出个全是代码的…
发表回复