如何定时清理Linux系统中的Nginx日志
发布网友
发布时间:2022-04-19 20:28
我来回答
共1个回答
热心网友
时间:2022-04-09 14:49
nginx日志文件需要手动分割,创建脚本文件clear_log.sh
文件路径/usr/local/nginx/clear_log.sh
vi clear_log.sh。输入如下内容
#!/bin/bash
cp /usr/local/nginx/logs/error.log /usr/local/nginx/error-$(date -d “yesterday” +“%Y%m%d”).log
#先复制原来的错误日志文件,请根据自己实际的日志路径填写
cat /dev/null 》 /usr/local/nginx/logs/error.log
#清空错误日志文件
cp/usr/local/nginx/logs/access.log /var/log/nginx/access/access-$(date -d “yesterday” +“%Y%m%d”).log
#先复制原来的正常访问日志
cat /dev/null 》 /usr/local/nginx/logs/access.log
#清空原来的正常访问日志
创建dellog.sh文件,路径/usr/local/nginx
vi dellog.sh
#!/bin/sh
find /usr/nginx/logs/error -mtime +7 -type f -name /*.log | xargs rm -f
find /usr/nginx/logs/access -mtime +7 -type f -name /*.log | xargs rm -f
#定期删除七天前的日志文件
启动linux下的计划任务,将刚才创建好的两个shell脚本加入此计划
crontab -e,输入如下内容
0 0 * * * /usr/nginx/clear_log.sh
#每天0点执行/usr/nginx/clear_log.sh
0 0 * * * /usr/nginx/dellog.sh
#每天0点执行 /usr/nginx/dellog.sh
保存后退出,输入命令crontab root就会看到/var/spool/cron/文件夹下看到相应的副本文件root。至此完成nginx日志按天拆分与定期清除。
逻辑详解:比如现在是3月18日0点0分,系统会自动执行clear_log.sh与dellog.sh两个shell脚本。clear_log.sh会把3月17日的日志文件分别生成为access_20140317.log与error_20140318.log,然后把原来的access.log与error.log分别清空。dellog.sh则会自动判断该文件的创建时间,如果是十五天前的就会自动清除
上面就是Linux清理Nginx日志的方法介绍了,因为Nginx日志没有自动清理的功能,一般采用切割日志的方法进行处理。
如何定时清理Linux系统中的Nginx日志
每天0点执行 /usr/nginx/dellog.sh 保存后退出,输入命令crontab root就会看到/var/spool/cron/文件夹下看到相应的副本文件root。至此完成nginx日志按天拆分与定期清除。逻辑详解:比如现在是3月18日0点0分,系统会自动执行clear_log.sh与dellog.sh两个shell脚本。clear_log.sh会把3月17日的日志文件...
如何定时清理Linux系统中的Nginx日志
可以采用crontab定时任务。举个例子:nginx日志access.log路径为:/app/nginx/logs/access.log 我另作了一个叫clearlog.sh的文件,路径:/app/myshell/clearlog.sh,内容如下:> /app/nginx/logs/access.log 意思是把空内容写入到access.log。然后在terminal里输入如下命令,开始编辑crontab:crontab -e...
Linux日志管理经验总结(crontab+logrotate)
特殊情况下,如果未做特殊配置,某些服务可能会持续生成大体积日志,导致磁盘空间耗尽,影响系统运行。这时,可以借助Linux的定时工具crontab配合清理脚本来定期清理过期日志,如示例中的命令:`crontab -e`,设置每日清除7天前的旧日志。值得注意的是,某些服务运行时,如nginx和MySQL,可能会使用文件句柄跟踪...
Linux下删除Nginx服务器的方法linux删除nginx
1、关闭Nginx服务:在Linux下,可以使用以下命令关闭Nginx服务:sudo service nginx stop 2、删除所有Nginx文件:使用如下安装命令可以找到所有Nginx文件:sudo find / -name “nginx*”然后使用 rm 命令可以删除所有Nginx文件:sudo rm -rf nginx nginx 3、卸载Nginx以及其他依赖:在Linux下,...
linux清空日志文件命令linux清空日志文件
一种是通过ntpdate命令,如ntpdatentp.Ubuntu.com然后在/etc/cron.daily/下新建一个文件来每天执行一次这个命令另一种是通过ntpd来更新。sudoapt-getinstallntp。配置文件/etc/ntp.conf,可以通过修改配置文件为改变ntpserver,我们用的是210.72.145.44这个server对于Linux的系统安全来说,日志文件是极其...
如何干净删除Debian Linux下面的Nginx
注意先备份/etc/nginx/nginx.conf等文件 cp /etc/nginx/ ~/ -R apt-get remove –purge nginx 如果报错,编辑 /var/lib/dpkg/info/nginx.prerm comment out the line with invoke-rc.d which gives the stop statement for nginx 如果出现无法删除,那么删除:sudo rm -rf /etc/nginx/ sudo ...
使用logrotate 命令轮转和归档日志 | Linux 中国
在Linux世界里,日志管理的高效工具莫过于logrotate。它如同一个精密的钟表,定期清理、压缩和归档那些信息的洪流,确保系统的整洁和性能。logrotate的基本命令是 logrotate -vs state-file config-file,其中config-file是关键,它定义了日志处理的规则和策略。例如,/etc/logrotate.d/rsyslog 是一个不可或...
linux彻底删除nginx
1.先执行一下命令:1.1 删除nginx,–purge包括配置文件 sudo apt-get --purge remove nginx 1.2 自动移除全部不使用的软件包 sudo apt-get autoremove 1.3 罗列出与nginx相关的软件 dpkg --get-selections|grep nginx 执行1.3的结果:dpkg --get-selections|grep nginx nginx install nginx-...
如何彻底卸载nginx
电脑、debian软件。1、首先我们打开debian软件,点击输入命令:kill -9 10398 和kill -9 10399,之后执行命令。2、然后我们在该页面中点击输入命令“find / -name nginx”,之后执行命令。3、之后我们在该页面中点击输入命令“rm -rf /usr/local/nginx”,之后执行命令即可。
Linux下玩转nginx系列(三)---nginx日志配置文件说明
常用日志格式包括main、json和压缩格式,以及包含上游消耗时间的upstream格式。总结:nginx通过access_log和error_log指令配置访问和错误日志,通过log_format自定义日志格式。使用open_log_file_cache指令设置日志文件缓存,提升性能。了解日志中使用的变量信息,参考官方文档可获取更多详细信息。