CentOS 中备份 Postgresql 数据库到七牛云


事先准备好数据库登录信息和七牛秘钥。

七牛秘钥管理地址: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


前一篇:
后一篇:

发表评论