# 脚本说明
#1.在crontab -e 中添加如下定时任务
#crontab -e 添加如下
#clean log every Saturday
#0 23 * * 6 /bin/sh /opt/clean_log.sh
#2. 下面是脚本放到 /opt/
# 命明为clean_log.sh
#!/bin/bash
dir=`pwd`
date=`date "+%Y%m%d"`
log_file=$dir/$date-log.txt
gz_file=$dir/$date-gz.txt
#day='+20' #定义几天之前的+1或则+n
num='512000' #定义查找多大的日志文件,默认单位是k
set -x
#遍历出/var/log 和其子目录下面所有的文件
#read_dir /var/log
#cd /opt
function read_dir(){
for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令
do
if [ -d $1"/"$file ] #注意此处之间一定要加上空格,否则会报错
then
read_dir $1"/"$file
else
echo $1"/"$file >> $log_file #在此处处理文件即可
fi
done
}
#读取第一个参数
read_dir /var/log
#cat $log_file
sleep 2
cat $log_file
#清空除*.gz压缩