删除过期的日志和备份文件

时间:2022-09-19 14:08:38

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 {} \;