如何使用 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/