如何备份postgresql数据库


对于网站来说数据无疑是最重要的,而养成备份数据的习惯更加重要, 忽然想到一句经典台词

曾经有一份数据摆在我的面前,
可我没有备份,
直到数据丢失后才后悔莫及,
人世间最痛苦的事莫过于此,
如果上天能给我一次再来一次的机会,
我会对那份数据说五个字:我要备份你,
如果非要在这份备份上加一个期限,我希望是每天!

进入主题,这只是对数据进行简单的备份

怎么备份数据

shell脚本

1
2
3
4
5
6
#!/bin/bash

backup_time=`date +%Y%m%d`
pg_dump articledb > /home/xxx/backup/article_$backup_time.sql
# articledb是要备份的数据库名称
echo "backup finished"

保存为backup_db.sh
注意
xxx是数据库用户,并且是super权限
可以这样

$ sudo -i -u postgres
$ [sudo] xxx 的密码:
postgres~ $ createuser xxx --interactive 
# 创建数据库用户,我的是archlinux,不同系统可能有所不同

定时备份数据

crontab -e

输入

0 22 * * * /home/xxx/backup/backup_db.sh
#表示每天22点定时备份数据

如果你需要在其他时间段备份数据,请查阅crontab文档

ok,就这样

There are comments.