创建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,验证结果,出现以下结果,标识添加成功。