首页 > 代码库 > postgresql自动备份

postgresql自动备份

bak_dir="/home/backupfiles/db" #备份路径
pg_dir="/usr/local/pgsql/bin" #pgsql路径
date_dir=`date +%Y/%m/%d`
dbname="数据库名字"
PGPASSWORD="超级用户postgres的密码"
export PGPASSWORD > /dev/null 2>&1
mkdir -p  ${bak_dir}/${date_dir} > /dev/null 2>&1 
chmod 777 ${bak_dir}/${date_dir} > /dev/null 2>&1
su postgres -c "${pg_dir}/pg_dump ${dbname} > ${bak_dir}/${date_dir}/${dbname}".dump
cd ${bak_dir}/${date_dir}
tar czf ${dbname}.tar ${dbname}.dump
gzip ${dbname}.tar
rm -rf ${bak_dir}/${date_dir}/${dbname}.dump

上面保存/usr/sbin/dbbackupcron.sh

vi /etc/crontab

10 08 * * * /usr/sbin/dbbackupcron.sh #每天8:10自动备份