sheel脚本备份pgsql
时间: 2023-09-08 20:16:00 浏览: 113
您可以使用以下步骤来创建一个能够备份PostgreSQL数据库的shell脚本:
1. 创建一个名为db_backup.sh的文件,并赋予它777权限。
2. 在db_backup.sh文件中编写以下脚本:
```bash
#!/bin/bash
# 备份路径
path=/home/postgres/db_back
# 创建备份路径文件
if \[ ! -d "$path" \]; then
mkdir -p $path
fi
# 获取备份日期时间
cur_time=$(date '+%Y-%m-%d-%H-%M-%S')
# db数据库名称
dbname=oyzData_CivilAirDefence_NeiMengGu_Xilinguolemeng_postgresql
# 执行备份命令
/usr/local/pgsql/bin/pg_dump -h 127.0.0.1 -U postgres -p 5432 -E UTF8 -f ${path}/backup_$cur_time.sql ${dbname} --inserts
```
3. 使用crontab编辑器来创建一个新的cron任务。运行命令`crontab -e`。
4. 在编辑器中添加以下行来设置每周六凌晨五点执行备份任务:
```
00 5 * * 6 /usr/local/sbin/db_backup.sh
```
5. 保存并退出编辑器。
6. 重启cron服务以使定时任务生效。运行命令`systemctl restart crond`。
7. 备份的数据将保存在/home/postgres/db_back目录下。
这样,您就创建了一个能够定时备份PostgreSQL数据库的shell脚本。请确保在脚本中指定了正确的数据库名称和备份路径。
#### 引用[.reference_title]
- *1* *2* [使用shell脚本+Cron任务自动执行postgres数据库备份](https://blog.csdn.net/qq_30665009/article/details/125998939)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文