1.备份
需确保有pgsql的工具pg_dump,--file是存储备份文件的路径, --host --port --username --dbname 是需备份数据库地址、端口、用户名、数据库实例名
#!/bin/bash echo "开始执行 PostgreSql 数据库dbn的备份" nowtime=$(date +%F+%T) export PGPASSWORD=123456 set timeout 1000 /home/user/postgresql/bin/pg_dump --file "/home/user/postgresql_backup/pgsql-dbn-all-"$nowtime".bak" --host "127.0.0.1" --port "5432" --username "un" --dbname "dbn" --verbose --role "delivery" --blobs --encoding "UTF8" echo "数据库 dbn备份结束!" echo "删除 30 天前的 数据库备份文件!" find /home/user/postgresql_backup/ -name "pgsql-dbn-all*" -mtime +30 -exec rm -rf {} ; set timeout 1000 echo " 30 天前的数据库备份文件删除完毕!" exit;
2.还原
psql -h 127.0.0.1 -U un -d dbn -f pgsql-dbn-all-2021-05-31+01: 29:20.bak