#echo "start backup database: postgres"
#${backup_command} -Fc postgres > ${backup_folder}${DATE}/postgres.${DATETIME}.bak
echo "Start backup time: $(date '+%Y-%m-%d %H:%M:%S')";
for loop in `/usr/local/bin/psql postgres -c "SELECT datname FROM pg_database;"`
do
FLAGSTR=`echo $loop | cut -c1-1`
if [ "'$loop'" = "'datname'" ]; then
continue;
elif
[ "'$loop'" = "'template0'" ]; then
continue;
elif
[ "'$FLAGSTR'" = "'-'" ]; then
continue;
elif
[ "'$FLAGSTR'" = "'('" ]; then
echo "backup complete";
exit 0;
else
echo "start backup database: $loop";
${backup_command} ${loop} > ${backup_folder}${DATE}/${loop}.${DATETIME}.bak;
fi
done
本文介绍了一段用于PostgreSQL数据库备份的Shell脚本。该脚本通过循环遍历所有数据库并利用psql命令获取数据库名称,然后使用指定的备份命令进行备份。此外,脚本还包含了对特殊字符和特定数据库名称的处理逻辑。
1166

被折叠的 条评论
为什么被折叠?



