Linux下定时备份Postgresql数据库
2014-04-11 11:28
555 查看
假设条件:
Linux用户名:whf
postgresql超级用户:postgres
postgresql版本:9.1
要备份的数据库名:icomplain_desktop
思路:
首先为 whf 添加数据库读写权限,然后将 pg_dump 命令写成shell脚本,最后使用crontab创建定时作业。
步骤:
切换到 postgres 用户:
连接数据库:
新建 whf 用户:
将 whf 提升为 superuser:
注意,这里不要用
因为 "ALL" 不包括 SELECT 权限,后果是 whf 用户依然没有权限读数据库,pg_dump后只是空记录。
编写备份脚本 backup-db.sh:
新建定时作业:
在最后添加:
这样每天22:00时就会自动执行 pg_dump 以备份icomplain_desktop数据库。
Linux用户名:whf
postgresql超级用户:postgres
postgresql版本:9.1
要备份的数据库名:icomplain_desktop
思路:
首先为 whf 添加数据库读写权限,然后将 pg_dump 命令写成shell脚本,最后使用crontab创建定时作业。
步骤:
切换到 postgres 用户:
sudo su postgres
连接数据库:
psql
新建 whf 用户:
CREATE USER whf WITH PASSWORD 'whf';
将 whf 提升为 superuser:
ALTER USER whf WITH SUPERUSER;
注意,这里不要用
GRANT ALL PRIVILEGES ON DATABASE icomplain_desktop to whf;
因为 "ALL" 不包括 SELECT 权限,后果是 whf 用户依然没有权限读数据库,pg_dump后只是空记录。
编写备份脚本 backup-db.sh:
#!/bin/bash cur_time=`date +%Y-%m-%d_%T` pg_dump icomplain_desktop > "/home/whf/db-backup/icomplain_desktop-$cur_time.dmp" echo "backup finished"
新建定时作业:
crontab -e
在最后添加:
# backup database at 22:00 every day 0 22 * * * /home/whf/bin/backup-db.sh
这样每天22:00时就会自动执行 pg_dump 以备份icomplain_desktop数据库。
相关文章推荐
- linux系统pgsql数据库定时备份失败问题
- linux系统实现数据库定时备份
- linux数据库和文件夹定时备份删除
- Linux下Debian包定时备份数据库文件和删除备份文件
- linux下使用contab定时备份数据库
- linux下定时备份数据库
- linux下mysql定时备份数据库
- linux下mysql定时备份数据库
- linux下使用shell脚本定时备份数据库
- Linux redhat 4下 配置oracle10g 数据库,定时自动备份
- linux每天定时备份数据库并删除十天前数据详细步骤
- linux下mysql定时备份数据库
- linux 定时备份数据库 上传
- linux 下定时备份数据库
- crontab的相关设置&linux定时备份数据库
- windows与linux下完成数据库的定时备份
- linux下mysql定时备份数据库
- Linux定时备份数据库与脚本加密
- linux执行定时任务进行数据库数据备份
- linux定时执行crontab 执行数据库备份