Linux定时分隔清除日志文件

扣扣技术分享交流群:1125844267 1、设置Linux定时器 crontab -e编辑属于当前用户的定时任务 0 */1 * * * sh /usr/

扣扣技术分享交流群:1125844267

1、设置Linux定时器

crontab -e编辑属于当前用户的定时任务
0 */1 * * * sh /usr/local/ziwu/back/myScheduleTest.sh    //脚本所在目录

2、脚本文件内容

#!/bin/bash
echo "hello world start"
#根据脚本所在路径
this_path=$(cd `dirname $0`;pwd)
#列出时间
current_date=`date +"%Y-%m-%d"`
cd $this_path
echo $this_path
echo $current_date
do_split() {
    [ ! -d logs ] && mkdir -p logs
#切分1兆每块至logs文件中,格式为:nohup-xxxxxxxxxx,切分大小可以自己设置,切分的日志文件和切分后的日志文件可以自己指定
    split -b 1m -d -a 4 ./nohup.out   ./logs/nohup-${current_date}
    if [ $? -eq 0 ];then
        echo "Split is finished!"
    else
        echo "Split is Failed!"
        exit 1
    fi
}
do_del_log(){
#清理1天前创建的日志,通过设置+n的值来确定清除几天前的日志文件
    find ./logs -type f -ctime +1 | xargs rm -rf
#清空当前目录的nohup.out文件
    cat /dev/null > nohup.out 
}
if do_split ;then
    do_del_log
    echo "nohup is split Success"
else
    echo "nohup is split Failure"
    exit 2
fi
echo "hello world end"