DB2 数据库 写一个每天20:00备份脚本 将备份文件放在 /data/backup目录下 定时任务删除七天前的备份文件
时间: 2024-05-16 11:11:52 浏览: 93
DB2定期备份脚本
可以的,以下是备份脚本的代码:
```
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_PATH='/data/backup/'
DB_NAME='your_db_name'
USER='your_username'
PASS='your_password'
# create backup folder if not exists
if [ ! -d "$BACKUP_PATH" ]; then
mkdir "$BACKUP_PATH"
fi
# backup database
docker exec db2_container sh -c "source /home/db2user/sqllib/db2profile;db2 backup database $DB_NAME to $BACKUP_PATH compress"
# rename backup file to include datetime
mv $BACKUP_PATH$DB_NAME.0.dmp $BACKUP_PATH$DB_NAME.$DATE.dmp
# delete backups older than 7 days
find $BACKUP_PATH -type f -name "$DB_NAME.*.dmp" -mtime +7 -exec rm {} +
```
请将 `your_db_name`、`your_username` 和 `your_password` 替换成实际的数据库名称、用户名和密码。还需根据实际情况修改容器名称、备份路径等参数。
然后,将这个脚本保存为 `backup_script.sh`,并确保可执行权限。可以使用以下命令添加定时任务:
```
crontab -e
```
在文件末尾添加以下一行:
```
0 20 * * * /path/to/your/backup_script.sh >/dev/null 2>&1
```
确保修改路径和文件名,并保存文件。这将在每天晚上的 8 点执行备份脚本,并将备份文件放在 `/data/backup` 目录下,并删除七天前的备份文件。
阅读全文