db2 删除过期的日志和备份文件(转)
DB2 删除过期备份和日志
$ db2 list history archive log all forpayment2 ------列出归档日志
$ db2 list history backup all forpayment2 ------列出备份
显示时间字符串
$ echo $(date"+%Y-%m-%d-%H:%M:%S")
2013-06-17-11:20:53
$ echo $(date "+%Y%m%d000000")
20130617000000
例:
删除2013年6月6日以前的归档日志
$ db2 prune history 20130606000000 and delete
$ find . -name "*" -type f -mtime+14 -exec rm -rf {} \; -----删除本目录下14天以前的文件
$ find . -name "*" -type f -mtime+7 -exec ls -al {} \; -----列出本目录下7天以前的文件
============================================================================
删除10天以前的日志和备份:
显示7天前的时间 for aix:
$ DB2BAK_PASTDAY=`TZ=+216 date+%Y%m%d000000`
----“TZ=+168 表示168小时(7天 )之前”
$ echo $DB2BAK_PASTDAY
20130610000000
$ db2 connect to payment2 ------连接数据库
$ db2 prune history $DB2BAK_PASTDAY anddelete ------删除7天前的归档日志和备份
$ db2 list history archive log all for payment2 ------列出归档日志
$ db2 list history backup all forpayment2 ----列出备份
列出10天以前的文件
$ find/home/db2inst1/payment2_bak -name "*" -type f -mtime +10 -exec ls {}\;
$ find . -name "*" -mtime -5 -exec ls -atl {} \;
脚本:(删除10天以前的备份和归档日志)
$ cat payment_log_bak_del.sh
#!/bin/sh
DB2BAK_PASTDAY=`TZ=+240 date +%Y%m%d000000`
BACK_PATH=/home/db2inst1/payment2_bak
db2 connect to payment2
db2 prune history $DB2BAK_PASTDAY anddelete
db2 connect reset
find $BACK_PATH -name"*" -type f -mtime +10 -exec rm -rf {} \;