首页 » 工具&API » 自动删除Linux过期日志

自动删除Linux过期日志

 

Nginx Access日志越来越多,磁盘堆积的也越来越多。
前面写过脚本备份过日志,这里写一个自动删除过期日志的脚本。

#!/bin/bash

#扫描的base路径
p_prefix='/opt/deploy/'
#日志后缀路径
p_suffix='/logdir/suffix/'
#查找需要自动删除的项目根地址,存在多个目录时使用
log_sites=(`ls $p_prefix | grep 'app_base'`)
log_time=`date +%F`
#log过期时间
expireday=30

for p in ${log_sites[@]}
do
    echo $p
    #具体的路径
    dir=$p_prefix$p$p_suffix
    if [ -d $dir ];then
        echo "`hostname`: $dir found"
        find $dir -name "*.log" -mtime +$expireday | xargs rm -f
    fi
done

保存并使用chmod +x 命令指定可执行权限.

加入cront即可,每天三点执行。

[root@localhost ~]# crontab -e
00 03 * * * /bin/bash /root/shell/autodelelelogs.sh


原文链接:自动删除Linux过期日志,转载请注明来源!

0