是这样的,现在需要对nginx的access.log进行按照每小时进行分割,并且最好还要能够以 “日期+时间”的形式,命名保存。
两点,一个是按照每小时进行分割,一个是将日志以“日期+时间”的形式进行保存。
1.将日志按照每小时进行分割:
利用crontab
输入crontab -e,手动添加一个定时任务
0 */1 * * * /bin/bash /root/tools/log_per_hour.sh
那么这种是我最终需要的,是在每个整点都执行写好的log_per_hour脚本。
肯定有一些大兄弟需要的是“从现在开始每隔一个小时进行执行”,这个时候的crontab定时任务应该这么写:
*/60 * * * * /bin/bash /root/tools/log_per_hour.sh
是“每隔60分钟执行一次”,这样会从任务生效时开始计算间隔。
2.将日志以“日期+时间”的形式进行保存:
其中,为了保证能够及时发现如果文件或者目录异常,中间做了条件判定。
并且为了让最后的access.log文件能够自动重新生成(等于是之前每个小时的都已经分割好了,nginx重载之后日志文件会重新生成并记录,这样就避免到时候把文件mv了之后,原先运行的nginx日志没地方写入尴尬的境地)
运行了两天,看一下成果~
小百万的访问量,每个日志还是很大~
下一步得要做威胁分析,进一步挖掘日志中的内容,祝我好运~
原文地址:https://www.cnblogs.com/sbhyc/p/10393165.html
时间: 2024-10-08 03:20:18