关于七牛云存储可以用来备份我们Linux vps上的网站老左早就知道,让我自己写备份脚本至少目前也没有这样的能力,估计以后也没有时间去学习,但是我可以利用网上现有的教程进行整合,不完善的进行修改和整理。其实,在几个月之前就准备写这篇文章的,但是从网上看到的脚本教程依照执行都没有能够成功,要么就是脚本执行的结果和教程说的不同,要么就是重要部分被省略掉。
比如我们的VPS系统需要是支持Python2.7版本的,但是在网上的很多教程都一笔带过让用户自己去寻找Python升级方法,但是这个升级方法也不是太好找,于是在"9步骤升级CentOS5系统Python版本到2.7"中,老左就先准备了这篇文章,为了完成VPS实现七牛云存储自动定时备份做好准备。所以,通过2次重装VPS测试可以实现备份效果,现在在写这篇教程,又给VPS重装,这样可以确保教程的完整记录(这样才能保证老左博客教程的完整)。
安装环境:
A - 老左这篇教程中环境是用的 linux centos5 32位系统,需要先给系统升级到Python2.7版本;
B - 需要有一个七牛云存储空间,可以免费申请"免费七牛云存储10G空间及流量申请激活教程 附用途"。
C - 网站环境是用的LNMP一键安装包(具体用环境无所谓,后面备份的时候只要路径对应)
具体的准备工作我们需要提前准备,因为我是用到的全新的VPS系统确保教程的完整性,就需要在新的环境下测试。下面主要还是来分享具体七牛备份的全部过程。
第一步、下载七牛备份脚本及安装
wget -O backuptoqiniu.zip https://www.dropbox.com/s/6xjm9vngm48rlit/backuptoqiniu.zip unzip backuptoqiniu.zip cd backuptoqiniu python setup.py install
第二步、配置backuptoqiniu.sh文件
我们可以把backuptoqiniu.sh文件下载到本地修改需要的配置,也可以直接VI在线配置。
# 备份名称,用于标记 BACKUP_NAME="qiniu-backup" # 备份目录,多个请空格分隔 BACKUP_SRC="/home/wwwroot/" # Mysql主机地址 MYSQL_SERVER="localhost" # Mysql用户名 MYSQL_USER="root" # Mysql密码 MYSQL_PASS="mysqlpassword" # Mysql备份数据库,多个请空格分隔 MYSQL_DBS="dbname" # 备份文件临时存放目录,一般不需要更改 BACKUP_DIR="/tmp/backuptoqiniu" # 备份文件压缩密码确保压缩包的安全 BACKUP_FILE_PASSWD="laozuo.org" ## 备份配置信息 End ## ## 七牛配置信息 ## #存放空间对应我们在七牛上创建的文件夹 QINIU_BUCKET="laozuoorg" #ACCESS_KEY QINIU_ACCESS_KEY="<YOUR_APP_ACCESS_KEY>" #SECRET_KEY QINIU_SECRET_KEY="<YOUR_APP_SECRET_KEY>" ## 七牛配置信息 End ##
上面是截取主要的需要修改成我们自己账户信息的脚本段,上部分是我们VPS的文件路径、数据库的链接,以及我们备份压缩包加密设置;下部分就比较关键的七牛存储的链接设置,需要在七牛后台我们的账户密匙找到AccessKey/SecretKey填写给QINIU_ACCESS_KEY和QINIU_SECRET_KEY,QINIU_BUCKET是我们在七牛开设的目录文件夹。
第三步、设置权限及测试备份
我们需要设置backuptoqiniu.sh权限以及调试备份
chmod +x backuptoqiniu.sh ./backuptoqiniu.sh
这里需要注意一个问题,如果我们第一次测试执行备份脚本的时候会看到这样的界面。
我们可以看到不识别ZIP脚本,很奇怪之前解压是可以的,为什么这里压缩不行,那既然不好用就看这篇文章给重新安装ZIP环境(解决Linux VPS安装UNZIP组件解压文件)。然后我们再执行会看到这样的成功界面。
执行备份测试之后,我们到七牛存储后台界面文件夹中,可以看到备份到的文件。
第四步、设置定时自动备份
crontab -e 0 2 * * 0 /bin/bash /root/backuptoqiniu/backuptoqiniu.sh #添加这个脚本
添加定时任务,每周日凌晨2点自动备份一次。
至此,使用七牛云存储自动备份我们的VPS网站就算成功,如果我们喜欢使用其他备份方式,也可以用Dropbox的自动备份,以及我们自动备份到FTP空间等方法,即便你怕麻烦,也可以定期手工备份。