当前位置: 技术问答>linux和unix
初学者的问题,要用Linux做一个批处理,碰到了几个问题
来源: 互联网 发布时间:2015-06-29
本文导语: 主要是处理文件的问题 某个目录下有按照日期命名的每天的log文件。 先要求 1.把前一天的log文件压缩 2.把90天前的压缩文件删除 3.要求每天晚上12点自动执行 小弟刚接触linux,完全不知如何下手。请各位指点了。 问...
主要是处理文件的问题
某个目录下有按照日期命名的每天的log文件。
先要求
1.把前一天的log文件压缩
2.把90天前的压缩文件删除
3.要求每天晚上12点自动执行
小弟刚接触linux,完全不知如何下手。请各位指点了。
问题完美解决后,另送上100分酬谢。
某个目录下有按照日期命名的每天的log文件。
先要求
1.把前一天的log文件压缩
2.把90天前的压缩文件删除
3.要求每天晚上12点自动执行
小弟刚接触linux,完全不知如何下手。请各位指点了。
问题完美解决后,另送上100分酬谢。
|
帮你写个例子
LOG_DATE=`date --date='1 day ago' '+%Y%m%d'`
DES_ACCESS_LOG=/XXX/logs/access_log_${LOG_DATE}
ORG_ACCESS_LOG=/usr/local/apache2/logs/access_log
DES_LOG_DIR=/XXX/logs/
mv -f $ORG_ACCESS_LOG $DES_ACCESS_LOG
gzip -f $DES_ACCESS_LOG
find ${DES_LOG_DIR}* -not -mtime -120 -exec rm {} ;
第3个问题
在crontab里
添上
0 0 * * * bash 你的sh文件
LOG_DATE=`date --date='1 day ago' '+%Y%m%d'`
DES_ACCESS_LOG=/XXX/logs/access_log_${LOG_DATE}
ORG_ACCESS_LOG=/usr/local/apache2/logs/access_log
DES_LOG_DIR=/XXX/logs/
mv -f $ORG_ACCESS_LOG $DES_ACCESS_LOG
gzip -f $DES_ACCESS_LOG
find ${DES_LOG_DIR}* -not -mtime -120 -exec rm {} ;
第3个问题
在crontab里
添上
0 0 * * * bash 你的sh文件
|
先算出昨天的日期和90天前的日期!
然后gzip压缩昨天日期的log文件,rm删除90天前日期的gz文件。
用crontab可以指定在0:00执行。
然后gzip压缩昨天日期的log文件,rm删除90天前日期的gz文件。
用crontab可以指定在0:00执行。