AIX获取N天前系统日期及应用日志备份脚本
2014-08-06 20:15
1071 查看
#!/usr/bin/ksh ##################################################################################### #备份内容:/home/afa/log/ 下当天日期文件下所有内容 如:20130101 # #备份频率:每天凌晨两点打包压缩1天前日志至文件/filelog下,并将五天前日志文件夹删除 # #由运行保障部将当日产生的gz压缩文件备份至磁带库 # #/filelog下压缩文件保存一个月,备机应用日志保存三个月 # #备份文件名:yyyymmdd.tar.gz # #备份路径:/filelog # ##################################################################################### export log ####################################################### #get_date默认取前一天日期,可加参数 #例 取五天前日期: #get_date 5 ####################################################### function get_date { #当前年份 year=`date +%Y` #当前月份 month=`date +%m` #当前日期 day=`date +%d` #默认取前1天日期 if [ $# -eq 1 ];then if [ $1 -lt 20 -a $1 -gt 0 ];then num_days=$1 else exit fi else num_days=1 fi day=$(($day - $num_days )) #判断日期是否是上个月 if [ $day -le 0 ];then month=$(($month -1)) if [ `expr length ${month}` -eq 1 ];then month="0"${month} fi if [ $month -eq 0 ];then month=12 year=$(($year -1)) else case $month in 01|03|05|07|08|10|12)day=$((31-$(( $num_days - `date +%d`)) ));; 04|06|09|11)day=$(( 30-$(( $num_days - `date +%d`)) ));; 02) if [ $(($year%4)) -eq 0 ];then if [ $(($year%400)) -eq 0 ];then day=$((29-$(( $num_days - `date +%d`)) )); fi if [ $(($year%100)) -eq 0 ];then day=$((28-$(( $num_days - `date +%d`)) )); else day=$((29-$(( $num_days - `date +%d`)) )); fi else day=$((28-$(( $num_days - `date +%d`)) )); fi ;; esac fi fi #获取日期 if [ `expr length ${year}${month}${day}` -eq 7 ];then new_date=${year}${month}"0"${day}; else new_date=${year}${month}${day}; fi echo $new_date return new_date } #获取1天前日期 get_date 1 date_1=${new_date}; #获取5天前日期 get_date 5 date_5=${new_date}; #获取相应文件 dir_1="/home/afa/log/"${date_1}; dir_5="/home/afa/log/"${date_5}; new_dir="/filelog"; if [ -d "${dir_1}" ];then cd /home/afa/log #将当天的日志文件夹压缩打包至/filelog tar -cf ${dir_1}"_bak.tar" ${dir_1} if [ $? -eq 0 ];then gzip -9 ${dir_1}"_bak.tar" rm -rf ${dir_1}"_bak.tar" mv ${dir_1}"_bak.tar.gz" ${new_dir} #五天前的文件夹删除 rm -rf ${dir_5} fi else echo "${dir_1},该文件不存在" fi
相关文章推荐
- Shell脚本定时备份清除运行系统日志的代码
- Shell脚本定时备份清除运行系统日志的代码
- 脚本获取系统日期
- tomcat应用文件备份脚本及日志备份脚本的示例代码
- ORACLE应用系统中对日志表的倒出备份操作的批处理
- linux系统定期清理31天前的应用日志脚本
- aix学习日志(三)之系统备份与还原!
- 备份系统日志的小脚本[原创-有待改良]
- aix系统可以用改变时区的方法获取前后N天的日期
- aix系统使用定时任务每天备份清理nohup日志操作步骤
- aix学习日志(四)之系统管理!
- 定时自动备份IIS的WWW日志的vbs脚本
- 中国银河证券集中备份系统应用(DSG SnapAssure应用)
- AIX操作系统下应用系统的维护与性能优化
- java中获取当前系统时间,日期并格式化输出
- C#GDI+图元组态和IronPython脚本应用之LED影像系统
- java应用之系统时间的获取和类Timer的核心代码
- SnapAssure在中国移动BOSS系统备份的应用案例(甘肃宁夏新疆青海/江西移动)
- 理解和使用aix的日志系统
- 远程或本地获取系统信息的脚本RGIS.vbs