vps数据备份脚本 - vps教程
2010-07-11 at 10:31 上午 宽宽以前的站点放在服务器的缓存盘因为服务器中断导致数据丢失了,又一次提醒我数据备份的重要性;最近有接触到廉价的vps,感觉在性能上会有问题,最担心的就是数据丢失的问题了,恰好对数据做个远程备份,方便站点迁移和数据保存。
简要说明:在/root目录下新建一脚本backup.sh,通过crontab对网站数据进行定时备份,然后新建一ftp进程,自动上传至远程ftp服务器。
使用的空间:godaddy的免费空间 (注册域名可申请,有广告,测试过,速度不错)
脚本如下(点击下载):
#!/bin/bash
/usr/bin/mysqldump -u mysql用户名 -pmysql密码 –opt mysql数据库名 > /var/www/rsqq/$(date +%Y%m%d)-rsqq.sql
cd /var/www/rsqq.com
tar -zcvf $(date +%Y%m%d)-rsqq.tar.gz ./*
echo "open ftp的ip地址
user ftp用户名 ftp密码
bin
prompt off
mput $(date +%Y%m%d)-rsqq.tar.gz
printf "\n"
close
bye"|ftp -i -n
rm -rf $(date +%Y%m%d)-rsqq.sql $(date +%Y%m%d)-rsqq.tar.gz
说明:以上脚本适用于debian服务器,本人已经做过测试有用,测试站点为http://www.rsqq.com
然后修改backup.sh的权限,使其有可执行的权限
chmod +x backup.sh
最后设置crontab:
crontab -e
在里面添加一行(每天的00:10分开始备份):
10 00 * * * /root/backup.sh
注意:有些情况下设置crontab后,但是并不运行,这时你可以重新启动一下crontab:
service crond restart
[...] 因为工作需要用不定期执行服务器上的几个脚本,所以用上次的定时备份脚本的方法行不通,PHP提供共了3个专门的执行外部命令的函数:system(),exec(),passthru(),尝试使用php来执行.sh命令,以下为测试代码(已经测试成功): [...]
学习了,php的用途很多,zencart网站很需要啊~~~