Linux自动备份文件和数据库到七牛空间

网站数据是站长的命根子,所以每日备份就很重要。如果你没有FTP空间,可以申请一个七牛云存储,免费10G空间备份一般的小站足够了。这里介绍一个备份网站文件和数据库到七牛的脚本,实测效果还不错,Linux vps下弄个定时任务就可以每天定时自动备份了。

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

首先,你得有个七牛的账号,如果没有就注册一个

注意:七牛注册后会送1G流量和空间,还需要实名认证后,才会送10G流量和空间,有实名认证洁癖的不需要往下面看了。注册完后,在下图左侧位置找到对象存储,然后新建存储空间

记住你新建的存储空间的名称,后面需要用到。

安装备份脚本,先yum install zip安装一下zip,如果Ubuntu则是apt-get install zip 来装zip,

需要注意的是系统python版本得在2.7以上

wget --no-check-certificate -O backuptoqiniu.zip https://www.ae7.me/files/backuptoqiniu.zip

unzip backuptoqiniu.zip && cd backuptoqiniu

python setup.py install

安装没有问题的话,我们就要vi backuptoqiniu.sh编辑配置文件了。

## 备份配置信息 ##

# 备份名称,用于标记

BACKUP_NAME="backup"

# 备份目录,多个请空格分隔

BACKUP_SRC="/home/wwwroot/cmsky.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="backup"

QINIU_ACCESS_KEY="ACCESS_KEY"

QINIU_SECRET_KEY="SECRET_KEY"

## 七牛配置信息 End ##

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

编辑完毕后,我们给backuptoqiniu.sh脚本加上运行权限,然后运行测试一下

chmod +x backuptoqiniu.sh

./backuptoqiniu.sh

正常情况应该像下图一样都显示OK

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

设置自动运行脚本

crontab -e

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

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

如果你用的是国外的vps,可能还需要cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime一下设置成国内时间。

然后service cron restart一下开始你的定时任务。

本文参考了老左博客和逗比的文章,目前用来备份网站很方便。