aiflow / backup.sh
hijnu's picture
Update backup.sh
031257a verified
raw
history blame
829 Bytes
#!/bin/bash
# 使用环境变量 PGPASSWORD 进行备份
export PGPASSWORD="$DB_POSTGRESDB_PASSWORD"
# 备份数据库到固定的文件名,覆盖上一次的备份
pg_dump -U "$DB_POSTGRESDB_USER" -d "$DB_POSTGRESDB_DATABASE" -F c -b -v -f "${WORKDIR}/backups/backup.dump"
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "数据库备份成功,正在上传到 WebDAV..."
# 使用 curl 将备份文件上传到 WebDAV,使用基本身份验证
curl -T "${WORKDIR}/backups/backup.dump" \
--user "${WEBDAV_USER}:${WEBDAV_PASSWORD}" \
"${WEBDAV_URL}/backup.dump"
if [ $? -eq 0 ]; then
echo "备份文件成功上传到 WebDAV"
else
echo "备份文件上传到 WebDAV 失败"
fi
else
echo "数据库备份失败"
fi
# 清理环境变量
unset PGPASSWORD