- log备份压缩以及获取指定内容到新文件
- [1].[代码] [Shell/批处理]代码 跳至 [1] [2]
- #!/bin/sh
- #============ get the file name ===========
- Folder_A="/mnt/log/" #这是我log存放的地方
- #Output_file="mysql.txt"
- t=$(date +%Y%m%d%H%M%S) #时间戳,命名用
- d=$(date +%Y%m%d)
- for file_a in ${Folder_A}/*; do #获取该文件夹下的所有日志文件
- temp_file=`basename $file_a`
- #echo $temp_file >> $Output_file
- while read line #读行
- do
- grep "sessionid">>/mnt/datas/mysql_$d.txt; #获取含sessionid的行输出到txt文件
- done < ${Folder_A}/$temp_file
- done
- ls ${Folder_A}/ #压缩
- if [ $? -eq 0 ];then
- tar -zcvf log_$t.tar.gz ${Folder_A}/ #压缩
- else
- echo "yourdir is empty!" >>log.log #该shell运行的log
- fi
- for file_b in ${Folder_A}/*; do #清空日志文件,不是删除
- temp_file=`basename $file_a`
- cat /dev/null >${Folder_A}/$temp_file
- done
- [2].[代码] 定时器 跳至 [1] [2]
- crontab -e #编辑定时器
- insert
- #每天凌晨两点执行,路径得看你们自己的路径
- 0 2 * * * cd /mnt/shell/ && /mnt/shell/log.sh >> /mnt/shell/log.log 2>&1
- #最后记得启动定时器