创建 /root/auto_backup.sh 文件,并为 /root/auto_backup.sh 文件赋予可执行权限:
cd /root
touch auto_backup.sh
chmod +x auto_backup.sh
备份指定的数据库(示例为:test_db数据库)到 /root/auto_backup_test_db.sql 文件:
# 将以下内容复制到 /root/auto_backup.sh 中,并保存:
pg_dump "host=127.0.0.1 hostaddr=127.0.0.1 port=5432 user=postgres password=123456 dbname=test_db" > /root/auto_backup_test_db.sql
vim /root/auto_backup.sh
使用 crontab 添加定时任务,在终端输入以下命令:
crontab -e
在crontab -e显示的文件中添加以下内容(单独占一行),实现每天3点时热备份(不影响用户正常使用)数据库:
0 3 * * * /root/auto_backup.sh
恢复数据库备份:
psql -h localhost -U postgres -d test_db < /root/auto_backup_test_db.sql
参考文章:
PostgreSQL 9.3.1 中文手册 – pg_dump
crontab 执行周期性的定时任务
postgresql数据库–psql、pg_dump命令带密码执行sql语句
PostgreSQL数据库pg_dump命令行不输入密码的方法
postgresql数据库备份和恢复