清理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
值判断文件的最后修改日期是否大于最大天数。如果是,则删除文件并输出删除的文件名。
注意:运行该脚本需要具有适当的权限。