阅读量:0
清理Linux日志的脚本可以使用以下命令:
#!/bin/bash # 清理/var/log目录下的日志文件 # 可根据需要修改日志文件目录 # 设置要删除的日志文件的最大天数 MAX_DAYS=7 # 获取当前日期 CURRENT_DATE=$(date +"%Y%m%d") # 遍历指定目录下的日志文件 for file in /var/log/*.log; do # 获取文件的最后修改日期 last_modified=$(stat -c %y "$file" | awk -F ' ' '{print $1}') # 将日期转换为时间戳 last_modified_timestamp=$(date -d "$last_modified" +"%s") current_date_timestamp=$(date -d "$CURRENT_DATE" +"%s") # 计算文件的天数差 days_diff=$(( (current_date_timestamp - last_modified_timestamp) / (24*60*60) )) # 判断文件的天数差是否大于最大天数 if [ "$days_diff" -gt "$MAX_DAYS" ]; then # 删除文件 rm "$file" echo "Deleted file: $file" fi done
上述脚本会遍历/var/log
目录下的所有日志文件,并根据设定的MAX_DAYS
值判断文件的最后修改日期是否大于最大天数。如果是,则删除文件并输出删除的文件名。
注意:运行该脚本需要具有适当的权限。