postgres本身支持数据库备份操作,基于安装路径下bin目录下的两个脚本文件pg_dump pg_dumpall
一个支持单库备份,一个支持整个数据库备份
这里实现的是不同机子间的备份,例如我在101.62上面是线上数据库,我需要定时备份到101.68这台机子上。
以下是命令:
-- 备份 pg_dump 数据库名 -h 要备份的数据库ip -p 你的端口 -U postgres > 备份结果文件名.dmp pg_dumpall -h 要备份的数据库ip -p 你的端口 -U postgres > 备份结果文件名.dmp
example:
pg_dump database -h 192.168.101.62 -p 5432 -U postgres > fileName pg_dumpall -h 192.168.101.62 -p 5432 -U postgres > fileName
-- 还原
psql -h 要还原的数据库ip -p 端口 -U postgres -d 指定数据库名
example:
psql -h 192.168.101.68 -p 5432 -U postgres -d new_db < fileName psql -h 192.168.101.68 -p 5432 -U postgres < fileName
注意:用到的脚本都在postgres的安装bin下,所以该方案要求接受备份文件的机子也需要安装postgres
这样显然,我这里需要的是定时备份,那么只需要利用linux的crontab 定时器就可以了
crontab相关命令:
crontab –e 添加定时任务 crontab -l 表示列出所有的定