1、做一个日志生成脚本,删除30前的日志,按天依次删除,中间如果未执行的情况,跳过的日期日志不会删除。
#!/bin/bash
build_dir="/home/analysisLog/"
jar_dir="/opt/saft/server/saft-xml-analysis/"
#判断文件夹是否存在 -d
if [[ ! -d "$build_dir" ]]; then
mkdir -p $build_dir
fi
cp ${jar_dir}nohup.out ${build_dir}/`date -d "-1 day" "+%Y%m%d"`.out
echo "" > ${jar_dir}nohup.out
#要删除日志的时间区间
content=$(date +%Y%m%d --date '1 month ago')
cd $build_dir
#计算删除文件的数量
FileNum=$(find -name "*$content*".out|wc -l)
if [ "$FileNum" -gt 0 ];then
echo "delete [$content]"
rm -rf ./*${content}*.out
fi
2、crontab -e 输入执行表达式 比如:1 0 * * * /home/linrui/XXXX.sh 每天00:01 执行。crontab -l查看有哪些定时器