事先准备好数据库登录信息和七牛秘钥。
七牛秘钥管理地址:https://portal.qiniu.com/user/key
注意:不存的目录要事先创建好。
1、Postgresql 备份
1.1、创建 Postgresql 数据库备份脚本
/mydata/bin/pg_backup
export PGPASSWORD=123
MYDATE=`date +%Y%m%d%H%M%S`
FILEPATH=/mydata/bak/pg_test_$MYDATE.bak
pg_dump -h 127.0.0.1 -p 5432 -U postgres test > $FILEPATH
gzip $FILEPATH
注:这里假设数据库为 test,用户名为 postgres,密码为 123。
1.2、安装数据库备份脚本
$ chmod +x /mydata/bin/pg_backup
$ ln -s /mydata/bin/pg_backup /usr/bin/pg_backup
1.3、备份数据库
$ pg_backup
2、上传备份文件到七牛
2.1、下载七牛同步工具
从以下地址下载七牛同步工具 qshell,并解压到 /mydata/bin 目录:
https://developer.qiniu.com/kodo/tools/1302/qshell
2.2、安装 qshell
$ ln -s /mydata/bin/qshell_linux_x64 /usr/bin/qshell
2.3、使用密钥登录七牛
$ qshell account WpoY******dpwY LuaV******sWsk tanggaowei@foxmail.com
2.4、新建七牛上传工具的配置文件
/mydata/etc/qshell/upload.json
{
"src_dir" : "/mydata/bak",
"bucket" : "test",
"rescan_local" : true,
"overwrite" : true,
"delete_on_success" : true
}
注:src_dir 是上传文件所在的目录,bucket 是七牛存储空间的名称。
2.5、创建七牛上传脚本
/mydata/bin/qshell_upload
qshell qupload /mydata/etc/qshell/upload.json
2.6、安装七牛上传脚本
$ chmod +x /mydata/bin/qshell_upload
$ ln -s /mydata/bin/qshell_upload /usr/bin/qshell_upload
3、添加定时任务
执行以下命令添加定时任务,这里设置为没3小时执行一次:
$ crontab -e
50 */3 * * * /usr/bin/pg_backup
55 */3 * * * /usr/bin/qshell_upload
添加或修改后,重启定时服务:
$ service crond restart