db2 删除过早的备份文件

数据库每天晚上十点定时进行全备,如何实现自动删除过早的备份文件呢,比如只保留一周的备份副本。显示全部

数据库每天晚上十点定时进行全备,如何实现自动删除过早的备份文件呢,比如只保留一周的备份副本。

收起
参与17

查看其它 3 个回答msjiang3433的回答

msjiang3433msjiang3433系统工程师现已失业

vi RoutineDelete.sh ,输入如下内容

TNOW=`date +%Y%m%d`

DaysToDelete=<一个整数,用来表示你要删除几天前的>

TTNOW=`date \"+%Y%m%d\" -d \"$TNOW -$DaysToDelete days\"`

FILETOREMOVE=`ls <数据库的备份路径> | grep $TTNOW`

rm -f <数据库的备份路径>/$FILETOREMOVE

退出保存,并赋予执行权限

然后crontab -e 建立一个定时任务,每天几点执行

打完收工

餐饮 · 2015-12-07
浏览1273
  • 非常感谢您的回复。还有个问题请教下:在数据库的备份路径下有11月份的备份文件,可是为啥FILETOREMOVE这个参数的输出是空的呢?脚本如下: #!/bin/sh TNOW=`date +%Y%m%d` DaysToDelete=5 TTNOW=`date "+%Y%m%d" -d "$TNOW - $DaysToDelete days"` FILETOREMOVE=`ls /data/backup/db2backup/ | grep $TTNOW` echo "=========TNOW:$TNOW====" echo "=========$TOW-$DaysToDelete days===" echo "=========TTNOW:$TTNOW===" echo "=========FILETOREMOVE:$FILETOREMOVE===" 输入结果如下: =========TNOW:20151207==== =========-5 days=== =========TTNOW:20151202=== =========FILETOREMOVE:===
    2015-12-07
  • grep $TTNOW 换成 grep 201511,不就行了?关键是看你怎么活学活用grep
    2015-12-14

回答者

msjiang3433
系统工程师现已失业

msjiang3433 最近回答过的问题

回答状态

  • 发布时间:2015-12-07
  • 关注会员:6 人
  • 回答浏览:1273
  • X社区推广