Rat's Blog

Linux vps定时备份网站文件和数据库到七牛云存储

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

之前有说过Linux VPS每日自动备份FTP及数据库通过邮箱发送方法,不过需要自建FTP空间才行,较本教程有点麻烦,如果你没有FTP空间,可以申请一个七牛云存储,免费10G空间备份一般的小站足够了。这里介绍一个备份网站文件和数据库到七牛的脚本,实测效果还不错,Linux vps下弄个定时任务就可以每天定时自动备份了。

本脚本Github项目地址:https://github.com/ccbikai/backuptoqiniu

先去注册个七牛云账号,然后实名认证后,会送10G流量和空间。注册完后,在左侧位置找到对象存储,然后新建存储空间,并记住你新建的存储空间的名称,后面需要用到。

方法

注意:系统python版本得在2.7以上

1、安装zip

apt-get install zip

2、安装备份脚本

wget --no-check-certificate -O backuptoqiniu.zip https://www.moerats.com/usr/down/backuptoqiniu.zip
unzip backuptoqiniu.zip && cd backuptoqiniu
python setup.py install

3、编辑配置文件
使用vi backuptoqiniu.sh命令或者Winscp工具编辑

## 备份配置信息 ##
 
# 备份名称,用于标记
BACKUP_NAME="backup"
# 备份目录,多个请空格分隔
BACKUP_SRC="/home/wwwroot/moerats.com"
# Mysql主机地址
MYSQL_SERVER="localhost"
# Mysql用户名
MYSQL_USER="root"
# Mysql密码
MYSQL_PASS="mysqlpassword"
# Mysql备份数据库,多个请空格分隔
MYSQL_DBS="dbname"
# 备份文件临时存放目录,一般不需要更改
BACKUP_DIR="/tmp/backuptoqiniu"
# 备份文件压缩密码确保压缩包的安全
BACKUP_FILE_PASSWD="123456"
 
## 备份配置信息 End ##
 
## 七牛配置信息 ##
 
#存放空间对应我们在七牛上创建的文件夹
QINIU_BUCKET="Rats"
QINIU_ACCESS_KEY="ACCESS_KEY"
QINIU_SECRET_KEY="SECRET_KEY"
 
## 七牛配置信息 End ##

上面的脚本配置基本都已经写的很清楚了,上半部分填写网站的信息,最后三行的信息在七牛获取。QINIU_BUCKET就是存储空间名,ACCESS_KEYSECRET_KEY在个人面板-密钥管理里获取。那个AKSK后面对应的长串就是密钥了。

4、测试脚本

chmod +x backuptoqiniu.sh
./backuptoqiniu.sh

正常运行后我们可以去七牛的后台你新建的存储空间里查看有没有这个压缩包。

5、设置自动运行脚本

crontab -e
0 2 * * 0 /bin/bash /root/backuptoqiniu/backuptoqiniu.sh #添加这个脚本

上面脚本的意思就是利用crontab定时任务每天凌晨2点自动运行这个脚本。具体crontab的用法可以自行搜索。

注意:如果你用的是国外的vps,可能还需要cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime一下设置成国内时间。
然后service cron restart一下开始你的定时任务。