postgresql自动备份每天生成1个文件并自动压缩:
1、编写shell脚本,保存为/home/db/dump.sh
pg_dump db | gzip > /home/db/db$(date +%Y%m%d).backup.gz
$(date +%Y%m%d)可自行设置。
需要设置执行权限,执行
chmod +x dump.sh
测试脚本是否可以备份数据库。在root用户下执行
su - postgres /home/db/dump.sh
如果正常则会生成一个类似于db20110606.backup.gz的文件。
2、加入自动调度,执行crontab -e,在最后一行加入(每天凌晨3点执行):
Java代码
00 3 * * * postgres /home/db/dump.sh
3、设置/home/db目录权限:
Java代码
chown postgres.postgres /home/db -R
这样就会每天生成1个类似于db20110606.backup.gz的压缩文件。
执行环境:
CentOS 5.3
Postgrsql 8.3