您的位置:首页 > 数据库

RHEL5下postgresql自动备份(无须手动输入密码)

2010-12-09 14:38 225 查看
网上有很多方式,最后觉得采用密码文件的方式比较好。
1:在/home/postgres目录下创建.pgpass文件
内容如下:
localhost:5432:*:postgres:password
2:编写备份脚本
dbbackupcron.sh
#!/bin/sh
bak_dir="/home/backupfiles/db"
#date_dir=`date +%Y/%m/%d/%H`
date_dir=`date +%Y/%m/%d`
/bin/mkdir -p ${bak_dir}/${date_dir} > /dev/null 2>&1
su postgres -c "/usr/local/pgsql/bin/pg_dump ue_dev > ${bak_dir}/${date_dir}/"ue_dev.dump
cd ${bak_dir}/${date_dir}
tar czf ue_dev.tar ue_dev.dump
gzip ue_dev.tar
rm -rf ${bak_dir}/${date_dir}/ue_dev.dump

上面脚本在执行数据备份的时候是用的postgres用户,而不是root,所以bak_dir必须把权限设置为postgres。
给脚本设置执行权限(上来就777,我知道是臭毛病,恩~)
chmod 777 dbbackupcron.sh
3:用crontab设置定时执行
vi /etc/crontab
添加内容:
10 0 * * * root /home/cron/dbbackupcron.sh
上面脚本是每天00:10执行该脚本,可以根据时间和脚本放置位置自行修改上面的内容。
脚本写的比较稚嫩,但是可以达到效果,各位看客如果有更好希望也提供一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: