postgresql 数据库备份脚本按每个表单独备份
#!/bin/bash
#设置数据库信息 DBUSER="postgres" DBPASS="password" DBHOST="localhost" DBNAME="database"
#设置备份目录 BACKUP_DIR="/backup"
#创建备份目录 if [ ! -d $BACKUP_DIR ]; then mkdir $BACKUP_DIR fi
#获取所有表名 TABLES=$(psql -U $DBUSER -h $DBHOST -d $DBNAME -c "\dt" | awk '{print $3}' | grep -vE '(^$|public.|pg_)')
#循环备份每个表 for TABLE in $TABLES do #备份文件名 BACKUP_FILE="${BACKUP_DIR}/${DBNAME}_${TABLE}.sql"
#备份表 pg_dump -U $DBUSER -h $DBHOST -t $TABLE $DBNAME > $BACKUP_FILE
#输出备份信息 echo "备份表 ${TABLE} 完成,备份文件为 ${BACKUP_FILE}" done
echo "备份完成!
原文地址: https://www.cveoy.top/t/topic/clo5 著作权归作者所有。请勿转载和采集!