#!/bin/sh
#日志查找路径
logFolders=("/home/workspace/logs/zpc_mall_console" "/home/workspace/logs/zpc_mall_messaging");
zipLogTime=`date "+%Y-%m-%d"`;
#查找2天前的日志
days=2;
for logFolder in ${logFolders[*]}
do
echo "跳转到${logFolder}目录";
cd ${logFolder};
echo "当前目录为:`pwd`";
echo "开始删除${days}天前的压缩文件......";
find ${logFolder} -name *.tar.gz -exec rm -rf {} \;
n=`find ${logFolder} -mtime +${days} -name "*.log" | wc -l`;
if [ ${n} -gt 0 ];then
echo "当前日志文件夹下需压缩日志数量:${n},暂对${days}天前的日志文件进行压缩";
echo "开始压缩日志......"
tar -zcvf ${zipLogTime}.tar.gz `find -mtime +${days} -name "*.log"`;
if [ $? -eq 0 ];then
echo "日志文件压缩成功!删除原日志文件......"
for log in $(find ${logFolder} -mtime +${days} -name "*.log")
do
rm -f ${log};
if [ $? -eq 0 ];then
echo "${log}日志文件删除成功!"
else
echo "${log}日志文件删除失败!"
fi
done
else
echo "日志文件压缩失败!"
fi
else
echo "当前日志文件夹下需压缩日志数量:0"
fi
done
 
查看开启crontab 定时任务
service crond status
service crond start
service crond stop
service crond restart
crontab -e
30 2 */2 * * sh /home/workspace/shellDir/zipLogs.sh >> /home/workspace/logs/deletelog.log