db2数据库 每天20:00备份数据库 将备份文件放在 /data/backup目录下 每个25天自动删除指定日期的旧备份文件
时间: 2024-05-23 07:15:28 浏览: 151
好的,这是一个关于数据库备份的问题。可以通过编写一个脚本,将备份数据库的命令和将备份文件移动到指定目录并删除旧备份文件的命令进行整合。然后,使用类似于cron这样的工具,在每天的20:00运行该脚本即可。以下是示例脚本代码:
#!/bin/bash
# 备份数据库
db2 backup db sample to /data/backup/sample.bak
# 移动文件并清理旧备份
if [ $(date +%d) -eq 1 ]; then
# 删除1个月前的备份
rm -f /data/backup/sample_$(date +%Y%m -d "25 days ago").bak
fi
mv /data/backup/sample.bak /data/backup/sample_$(date +%Y%m%d).bak
请注意,这只是一个简单的示例,实际上需要根据实际情况进行调整和修改。
相关问题
DB2 数据库 写一个每天20:00备份脚本 将备份文件放在 /data/backup目录下 定时任务删除七天前的备份文件
可以的,以下是备份脚本的代码:
```
#!/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` 目录下,并删除七天前的备份文件。
Redhat 备份 db2 脚本 需要满足一下要求:1.每天晚上11点备份数据库bba 2.备份的数据库bba压缩并以日期命名 3.放入data目录下并创建最新的子目录以日期命名
以下是一个符合你要求的备份db2数据库的脚本示例:
```bash
#!/bin/bash
# 获取当前日期
current_date=$(date +%Y-%m-%d)
# 创建备份目录
backup_dir="/data/${current_date}"
mkdir -p "${backup_dir}"
# 备份数据库
db2 backup database bba to "${backup_dir}/bba_${current_date}.001" compress
# 压缩备份文件
gzip "${backup_dir}/bba_${current_date}.001"
# 输出备份完成信息
echo "数据库bba备份完成!"
```
你可以将以上脚本保存为一个名为 `backup_db2.sh` 的文件,并将其添加到每天晚上11点执行的定时任务中(可以使用 `crontab` 命令来设置定时任务)。这样每天晚上11点,该脚本将会备份数据库bba,将备份文件压缩并以日期命名,然后将其放入`/data` 目录下的最新子目录中。
请注意,以上示例是一个简单的脚本,可能需要根据你的具体环境和需求进行适当的修改。另外,请确保具有执行该脚本的权限,并且数据库连接等相关配置正确设置。
阅读全文