linux服务器PostgreSQL数据库自动备份

linux服务器PostgreSQL数据库自动备份

新建备份脚本

mkdir /home/postgresql_backup
vim pgsql-bak.sh
#!/bin/bash
echo "开始执行 PostgreSql 数据库canal_tour的备份!"
nowtime=$(date +%F+%T)
export PGPASSWORD=(你的数据库密码)
echo "时间:" $nowtime
set timeout 500
/usr/bin/pg_dump --file "/home/postgresql_backup/pgsql-all-"$nowtime".bak" --host "127.0.0.1" --port "5432" --username "postgres" --dbname "canal_tour" --verbose --role "postgres" --blobs --encoding "UTF8"
echo "数据库 canal_tour 备份结束!"
exit;

删除7天前备份脚本

vim delete-bak.sh
echo "删除 7 天前的 数据库备份文件!"
find /home/postgresql_backup/ -name "pgsql-all*" -mtime +7 -exec rm -rf {} \;
set timeout 1000
echo " 7 天前的数据库备份文件删除完毕!"

更改脚本权限,测试脚本

chmod u+x
chmod是权限管理命令change the permissions mode of a file的缩写。。
u代表所有者。

x代表执行权限。

  • 表示增加权限

    #就表示对当前目录下的*.sh文件的所有者增加可执行权限
    chmod u+x *.sh 
    

修改权限后可通过./*sh进行脚本测试

crontab脚本管理

crontab -e

加入一下内容

每天凌晨3点执行备份脚本,凌晨3.30执行删除7天前备份脚本

0 3 * * * /home/postgresql_backup/pgsql-bak.sh
30 3 * * * /home/postgresql_backup/delete-bak.sh

可通过crontab -l列出所有要执行的定时任务,通过tail -f /var/log/cron查看定时任务crontab日志记录

参考链接:https://blog.csdn.net/weixin_44784018/article/details/115911676

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值