linux定期清理日志文件
日志文件输出信息过多时,往往会导致资源紧张。故需要对其进行定期删除。
1、echo "" > log.out
清空日志
其中echo "" > log1.out
可以将日志文件内容赋值为空字符串,服务有新输出时,会在文件后继续追加内容。避免由于使用rm命令后,无法保留日志文件的缺陷。
# 循环监控,通过控制sleep的时间来控制时间间隔
while :; do
echo "" > log1.out
echo "" > log2.out
echo $(date +%F%n%T)
echo "log clear end"
sleep 3d
done
2、sleep用于控制时间间隔。
Linux sleep
命令可以用来将目前动作延迟一段时间。
语法:
sleep [–help] [–version] number[smhd]
参数说明:
- –help : 显示辅助讯息
- –version : 显示版本编号
- number : 时间长度,后面可接 s、m、h 或 d
其中 s 为秒,m 为 分钟,h 为小时,d 为日数
实例:
休眠5天:sleep 5d
3、检测清除脚本日志
为便于排查问题,检测是否正常清理日志,需要对定期清理日志脚本进行日志留存。故也需要在shell脚本中添加清理成功的提示符。
可使用 nohup bash log_clear.sh &
方式留存日志文件—nohup.out