PostgreSQL数据库定时备份脚本

      大多数数据库管理系统都提供了自带的备份工具,可以使用这些工具来进行备份操作。

    例如:

  • MySQL:使用 mysqldump 命令进行备份。
  • PostgreSQL:使用 pg_dump 命令进行备份。

      以下是一个用于定时备份 PostgreSQL 数据库的示例脚本。这个脚本将使用 pg_dump 工具来创建数据库备份,然后将备份文件保存到指定的目录中,并可选择保留最近一段时间内的备份文件。

#!/bin/bash

# PostgreSQL数据库相关信息
db_host="localhost"
db_port="5432"
db_name="your_database_name"
db_user="your_database_user"
db_password="your_database_password"

# 备份存储目录
backup_dir="/path/to/backup/folder"

# 保留备份的天数
retention_days=7

# 创建备份目录
mkdir -p $backup_dir

# 备份文件名
backup_file="$backup_dir/backup_$(date +'%Y%m%d%H%M%S').sql"

# 执行备份
PGPASSWORD=$db_password pg_dump -h $db_host -p $db_port -U $db_user -F c -b -v -f "$backup_file" $db_name

if [ $? -eq 0 ]; then
    echo "数据库备份成功: $backup_file"

    # 删除旧的备份文件
    find $backup_dir -name "backup_*.sql" -type f -mtime +$retention_days -exec rm -f {} \;
else
    echo "数据库备份失败."
fi

在这个脚本中,您需要修改以下变量以适应您的数据库和备份需求:

  • db_hostdb_portdb_namedb_userdb_password:替换为您的数据库相关信息。
  • backup_dir:指定备份文件保存的目录。
  • retention_days:设置要保留的备份文件的天数。

保存脚本,然后通过 chmod +x script_name.sh 命令赋予执行权限。您可以使用 cron 作业来定期运行这个脚本,以创建定时的数据库备份。

例如,通过运行 crontab -e 命令,添加一行类似于以下内容的条目:

0 2 * * * /path/to/your/script_name.sh

上述条目表示在每天凌晨2点钟执行备份脚本。根据您的需求和系统配置,您可以调整 cron 表达式来适应不同的定时备份策略。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值