今天做了个postgresql 10的数据库备份, 遇到很多坑, 因为我用的 psql-10 , 好多博文 用的psql - 9
本文主要介绍 psql-10数据库备份.
1.备份脚本:
PGPASSWORD="数据库密码" pg_dump -U postgres -h 127.0.0.1 -p 5432 -d stami -f /data/sql_bak/stami_$(date +%Y%m%d_%H_%M_%S).sql
PGPASSWORD 数据库密码(如果没有就不用加这个字段了)
-U 用户名
-h ip
-p 端口号
-f 备份文件路径
-d 数据库名字
stami(数据库的名字,stami是我的数据库的名字)
脚本命名为: sql_bak.sh
我一般会在linux根目录下新建一个 data-->sql_bak 文件夹,将 脚本放到该目录下
2.测试是否好用
./sql_bak.sh 执行该脚本
ls 查看备份sql是否存在
3.创建定时任务
crontab -e
# 每分钟执行一次
*/1 * * * * /data/sql_bak/sql_bak.sh
# 每小时执行一次
0 */1 * * * /data/sql_bak/sql_bak.sh
#每天凌晨2点执行dotop下的自动备份任务
00 2 * * * dotop /home/dotop/db_backup.sh
4. 先按每分钟执行一次,查看定时任务是否成功.