创建backup.sh脚本文件
#!/bin/sh
# 当前日期
today=$(date "+%Y%m%d")
# 打印日志
echo 'Backup DB data on time: '$today
# 先删除存在的备份
rm -rf DB_BACKUP_$today.sql
# 执行备份
/opt/PostgreSQL/9.4/bin/pg_dump -f /root/sql/DB_DATA_BACKUOP/DB_BACKUP_$today.sql -h 服务器ip地址 -p 数据库端口号 "dbname=xxx user=xxx password=xxx"
需要注意的是:
pg_dump的参数-f指定的备份文件需要写绝对路径,我用相对路径,任务执行了,但是找不到文件。
为了不用每次输入数据库密码,将密码作为参数写到命令的最后面。
授权执行权限
chmod u+x backup.sh
1
添加到crontab定时任务里
1,crontab -e打开crontab编辑模式,添加一行配置(每天凌晨一点执行):
0 1 * * * /root/sql/backup.sh > /root/sql/backup.sh 2>&1
2,crontab -l查看是否加入成功。
3,验证结果,出现以下结果,标识添加成功。
![]()
PostgreSQL备份脚本与Cron定时任务
本文介绍了一个用于PostgreSQL数据库备份的shell脚本,包括设置定时任务、执行备份过程及权限配置。通过Cron实现每天凌晨自动备份,确保数据安全。
781

被折叠的 条评论
为什么被折叠?



