Back

linux - 自动清理日志文件 (使用普通脚本,crontab, echo 等操作,不是logrotate)

发布时间: 2019-02-28 09:18:00

我们的一个核心业务的服务器,每天都要产生几个G 的日志。 平时是不需要这些的。 

所以为了节省硬盘空间,我们就需要把它做定时的清理。 

bash script 的方式:(使用多个文件,例如 a-2019-1-21.log, a-2019-1-22.log)

# 文件名: /opt/shell/auto_remove_log.sh
find /opt/app/abc/current/log/ -mindepth 1 -mtime +2 -delete
find /opt/app/abc/current/log/update_orders_to_websockets_*.log  -mtime +0 -delete
find /opt/app/abc/current/log/amqp_daemon_*.log  -mtime +0 -delete
echo 'delete log success !'

crontab 方式(适用于文件名称不变的文件)

# 自动删除log
0 0 * * * sh /opt/shell/auto_remove_log.sh
0 4 * * * echo '' > /opt/app/abc/current/log/daemons/amqp_matching.log
0 4 * * * echo '' > /opt/app/abc/current/log/daemons/amqp_order_processor.log

Back