前言
在Linux系统的日常运维中,日志文件的不断累积会逐渐消耗宝贵的存储资源,甚至影响系统性能。面对日益增长的日志数据,定期清理已成为保障系统健康运行不可或缺的一环。本文将介绍如何高效地管理和定期清除Linux系统中的日志文件,确保您的服务器既能保持最佳性能,又能充分利用存储资源。
同时,需要确保清理日志的周期,不能清除近期的日志,以免造成无法追溯日志的情况。
正文
下面是一个Shell脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #! /bin/bash
#find:linux的查找命令,用户查找指定条件的文件; #/opt/soft/log/:想要进行清理的任意目录; #-mtime:标准语句写法; #+3:查找3天前的文件,这里用数字代表天数; #"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三; #-exec:固定写法; #rm -rf:强制删除文件,包括目录; # {} \; :固定写法,一对大括号+空格+\+;
echo "del file start....."
find /usr/local/huanfa-log/* -mtime +7 -path "*.log" -exec rm -rf {} + 2>&1
echo "del file end"
|
定期运行脚本
使用crontab
1 2 3 4 5 6 7 8 9
| crontab -e
# 每天的23:00(晚上11点)运行位于/app/clear-logfile.sh的脚本 0 23 * * * /app/clear-logfile.sh
crontab -l
# 赋于运行权限 sudo chmod +x /app/clear-logfile.sh
|