
项目组开发的一个小工具挺不错的,导致很多人在上面使用。用户量越来越大,责任也越来越大。由于工具部署在开发环境上,用的数据库也是开发环境自己搭建的 PG 数据库,没有 DBA 管理和备份机制。如果哪天挂了,后果还是比较严重滴。
所以想着先写个脚本每天把数据库备份下来,避免数据库挂了一点都找不回来。
思路是在另一台 Linux 机器上创建一个定时任务,每天执行 pg_dump 程序。
创建 backup.sh
脚本文件
1 | !/bin/sh |
需要注意的是:
pg_dump
的参数-f
指定的备份文件需要写绝对路径,我用相对路径,任务执行了,但是找不到文件。- 为了不用每次输入数据库密码,将密码作为参数写到命令的最后面。
授权执行权限
1 | chmod u+x backup.sh |
添加到 crontab 定时任务里
1,crontab -e
打开 crontab 编辑模式,添加一行配置(每天凌晨一点执行):
1 | 0 1 * * * /usr/local/DB_DATA_BACKUOP/backup.sh > /usr/local/DB_DATA_BACKUOP/backup.out 2>&1 |
2,crontab -l
查看是否加入成功。
3,验证结果。