使用 qshell 定时备份服务器文件到七牛云

作者: 王炳明 分类: 工具库,软件大杂烩 发布时间: 2021-03-12 21:48 热度:106

1. 安装 qShell

首先要在服务器上安装 qshell,你可以前往 七牛云开发文档 里根据自己的系统选择适当的版本进行下载。

使用 qshell 定时备份服务器文件到七牛云插图

比如我是 CentOS 的系统,那就执行下面这条命令下载,并解压它,会得到一个可执行文件 qshell,再把这个可执行文件移到 /usr/bin 目录下

$ wget https://devtools.qiniu.com/qshell-v2.4.3-Linux-386.tar.gz
$ tar -xvf qshell-v2.4.3-linux-386.tar.gz
$ mv qshell /usr/bin/
$ chmod +x /usr/bin/qshell

此时执行 qshell ,如果输出了帮助信息,说明你安装和设置都已经完成。

2. 配置帐号信息

前往七牛云控制台,获取可以代表你的 ak 和 sk

使用 qshell 定时备份服务器文件到七牛云插图(1)

然后在终端上输入这样一条命令,其中的 name 是你的登陆户帐名,比如我使用的邮箱登陆,那 name 就是我的邮箱。

$ qshell account <ak> <sk> <name>

执行完成后,再运行这条命令,就能查看所有已配置的用户了

$ qshell user ls

3. 上传文件

想要上传文件,你需要写一个配置文件,在这个配置文件里,一般只要写两个信息即可:

  • 一个是源地址
  • 一个是目标地址

源地址其实就是一个本地目录,指明你要同步的文件在哪个目录下

目标地址就是你要将文件同步到你七牛云的哪个空间,如果你之前没有新建过空间,那你先得先新建一个。

这里是我配置的

{
   "src_dir"            :   "/home/qshell/MySQL",
   "bucket"             :   "iswbm"
}

然后再执行这条命令,就可以将 /home/qshell/mysql 这个目录下的所有文件(这个目录下 有两个文件),上传到 iswbm 这个空间里。

$ qshell qupload /etc/qshell/mysql.conf

执行完成后,去七牛云后台进入指定的空间,就可以刷到这两个文件了

使用 qshell 定时备份服务器文件到七牛云插图(2)

如果你第一次只传了一个文件,那么只有一个文件被管理,那么之后,无论再执行多少次,新添加的文件都不会再上传到你的空间。

这种情况下你就要修改配置文件的参数了

{
   "src_dir"            :   "/home/qshell/mysql",
   "bucket"             :   "iswbm",
   "file_list"          :   "/etc/qshell/db.list",
   "overwrite"          :   true,
   "check_exists"       :   true,
   "check_hash"         :   true,
   "check_size"         :   true
}

其中有一个文件是 /etc/qshell/db.list,这个文件记录着你要上传的文件列表信息

$ cat /etc/qshell/db.list
weixin.sql.gz   3010350 16155552780998733
WordPress.sql.gz        1975633 16155552982395557

而这个文件,不用你一个一个添加,qshell 提供了一个 dircache 的命令

$ qshell dircache /home/qshell/mysql -o /etc/qshell/db.list

关于更多上传的参数,你可以访问这个文档

上传后,如果想下载这个文件,你得为这个空间添加加速域名,具体自己去操作就好啦~

4. 备份数据库

编写定时脚本

$ cat /usr/bin/backup_db
mysqldump -h 127.0.0.1 -u root -pxxxx --database weixin  | gzip > /home/qshell/mysql/weixin.sql.gz
mysqldump -h 127.0.0.1 -u root -pxxxx --database wordpress  | gzip > /home/qshell/mysql/wordpress.sql.gz

qshell qupload /etc/qshell/mysql.conf

$ chmod +x /usr/bin/backup_db

将脚本写入 crond 中,凌晨三点固定执行一次备份

0 3 * * * /usr/bin/backup_db >>/var/log/backup_db.log 2>&1
weixin

文章有帮助,请作者喝杯咖啡?

发表评论

邮箱地址不会被公开。 必填项已用*标注