pg_dump 数据库备份脚本

pg_dump 数据库备份脚本

如何使用 pg_dump 创建脚本来备份 Linux 系统上的 Postgres 数据库

已经使用了命令,但我希望某些东西可以自行执行,无需用户交互,因此

pg_dump -U postgres -W -Fc

这要求输入密码,如果我使用 -w 则要求输入 pgpass 文件

答案1

这是 root 用户的脚本,放在 /root 目录下:

#! /bin/sh

USER="postgres"
PASS="password"

## Staorage Dir
bkp_dir="/home/USER_HOME/databases-$(date +%Y%m%d)"
echo "Creating directory: ${bkp_dir}"
mkdir $bkp_dir

## Temporal credential access file
credentialsFile=".pgpass"
echo "*:*:*:$USER:$PASS" >> $credentialsFile
chmod 600 $credentialsFile

echo "Backing up databases"

pg_dump -U postgres -w -Fc > $bkp_dir/

rm $credentialsFile

您可以根据需要创建一个 crontab 来自动运行脚本

资源: https://severalnines.com/database-blog/backup-postgresql-using-pgdump-and-pgdumpall http://www.postgresqltutorial.com/postgresql-backup-database/

相关内容