Linux 上 定时备份 postgresql 数据库
要在Linux上定时备份PostgreSQL数据库,你可以使用cron
来设置定时任务,并使用pg_dump
命令进行备份。以下是一个简单的例子:
- 编辑crontab文件以添加定时任务。
crontab -e
- 添加以下行来设置定时任务。例如,每天凌晨1点执行备份。
0 1 * * * /path/to/backup_script.sh
- 创建备份脚本
backup_script.sh
并给予执行权限。
touch backup_script.sh
chmod +x backup_script.sh
- 编辑
backup_script.sh
文件,添加以下内容(请替换相关配置以匹配你的环境)。
#!/bin/bash
# PostgreSQL 用户名
USERNAME="your_username"
# PostgreSQL 密码
PASSWORD="your_password"
# 数据库名
DATABASE="your_database"
# 备份目录
BACKUP_DIR="/path/to/your/backup/directory"
# 备份文件名
BACKUP_NAME="backup-$(date +%Y%m%d%H%M%S).sql"
# 执行备份
pg_dump -U $USERNAME -W -Fc -f $BACKUP_DIR/$BACKUP_NAME $DATABASE
# 如果需要,可以在这里添加更多的备份选项,例如--compress
# 压缩备份文件(如果需要)
gzip $BACKUP_DIR/$BACKUP_NAME
- 保存并关闭
backup_script.sh
文件。
确保你已经安装了pg_dump
工具,并且该脚本有足够的权限来执行备份。如果你的PostgreSQL数据库需要密码,你可以在命令中使用-W
选项让pg_dump
在执行时提示输入密码,或者使用-U
选项指定用户名并在命令行中直接提供密码。
这个脚本会在每次执行时创建一个新的备份文件,文件名包含时间戳,并且会对备份文件进行gzip压缩。你可以根据需要调整备份选项,例如备份格式(c custom-format, t tar format),压缩方式等。
评论已关闭