1.完整脚本
hww@tts-0001:~$ mkdir -p bin/
hww@tts-0001:~$ cd bin/
hww@tts-0001:~/bin$ sudo vim cut_nginx.sh
脚本:
#!/bin/sh
mv /data/logs/nginx/hww_log.log /data/logs/nginx/hww_log_$(date -d "0 day" +"%Y%m%d").log
mv /data/logs/nginx/hww_error.log /data/logs/nginx/hww_error_$(date -d "0 day" +"%Y%m%d").log
kill -USR1 $(cat /var/run/nginx.pid)
bzip2 -z /data/logs/nginx/hww_log_$(date -d "0 day" +"%Y%m%d").log
bzip2 -z /data/logs/nginx/hww_error_$(date -d "0 day" +"%Y%m%d").log
rm -f /data/logs/nginx/hww_log_$(date -d "-30 day" +"%Y%m%d").log.bz2
rm -f /data/logs/nginx/hww_error_$(date -d "-30 day" +"%Y%m%d").log.bz2
exit 0
2.简化脚本
#!/bin/sh
hww_log=/data/logs/nginx/hww_log.log
hww_error=/data/logs/nginx/hww_error.log
dd_0=$(date -d "0 day" +"%Y-%m-%d")
dd_30=$(date -d "-30 day" +"%Y-%m-%d")
mv $hww_log $hww_log.$dd_0
mv $hww_error $hww_error.$dd_0
kill -USR1 $(cat /var/run/nginx.pid)
bzip2 -z $hww_log.$dd_0
bzip2 -z $hww_error.$dd_0
rm -f $hww_log.$dd_30.bz2
rm -f $hww_error.$dd_30.bz2
exit 0
该脚本把错误日志也打包了,同时自动删除30天前的打包日志
别忘了赋权限
sudo chmod 755 cut_nginx.sh
3.定时执行命令
crontab命令
crontab命令的功能是在一定的时间间隔调度一些命令的执行
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务
定时执行
hww@tts-0001:~/bin$ sudo crontab -e
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
0 0 * * * /home/hww/bin/cut_nginx.sh
注:1.分 时 日 月 周 sh脚本路径
2.上面的含义是每天晚上0点执行cut_nginx.sh脚本
分享到:
相关推荐
nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割,压缩包包含shell切割脚本和使用说明,该脚本适合nginx同时也适合其他类似服务的日志切割,只要简单修改shell脚本即可,灵活多变,实用。
### Nginx日志切割脚本详解 #### 引言 在运维工作中,Nginx作为一款高性能的HTTP服务器及反向代理服务器,在处理大量访问请求时会产生庞大的日志文件。这些日志文件不仅占用大量的磁盘空间,还会影响系统的性能,...
nginx日志自动定时切割及清除脚本
【Crontab+Shell做Nginx日志切割脚本】是Linux系统中常见的日志管理方式,主要用于解决日志文件过大导致的问题。Nginx作为一款广泛应用的Web服务器,其产生的日志文件可能会随着时间积累变得非常庞大,占用大量磁盘...
: 为限制 Nginx日志文件大小增加,文件过大,导致无法收缩日志,在配置好的nginx的安装目录下,可以采用批处理文件对日志,根据实际需要的时间进行自动切割,本脚本以天为单位进行保存。对于日志备份功能,因存储...
利用crontab定时机制触发shell脚本,自动切割nginx的日志文件,并实现自动清理,可直接在服务器上上传使用
1、添加nginx日志切割脚本 cd /etc/logrotate.d #进入目录 vi /etc/logrotate.d/nginx #编辑脚本 /usr/local/nginx/logs/*.log /usr/local/nginx/logs/nginx_logs/*.log{ missingok dateext notifem
本解本实现了使用shell脚本实现nginx日志分割,大家如果没资源分下载,可以转至:https://mp.csdn.net/mdeditor/85233117# 去查看源代码。谢谢大家
windows nginx 按天切割日志
【Nginx日志切割详解】 在Web服务器的日常运维中,日志管理是一项至关重要的任务。Nginx作为一款高性能的HTTP和反向代理服务器,其日志记录功能可以帮助我们监控服务器状态、分析访问流量、排查问题等。然而,随着...
1. **创建日志切割脚本**: 创建一个名为`logrotate.conf`的文件,例如在`/etc/logrotate.d/nginx`目录下,内容如下: ``` /var/log/nginx/access.log { daily rotate 7 compress delaycompress missingok ...
在给定的脚本中,使用bash shell编写了一个简单的日志切割脚本,它通过命令行工具如`mv`(移动文件)和`date`(处理日期)来实现日志的重命名和时间戳的添加。 4. **USR1信号**:在Nginx中,向主进程发送USR1信号...
Nginx日志切割脚本主要用于定期处理Nginx产生的日志文件,包括旧日志文件的归档压缩、新日志文件的创建等操作,以减少日志文件占用的空间,同时方便后续的日志分析。 **脚本内容分析:** 1. **变量定义:** - `...
本文将对Nginx日志配置及日志切割进行详细介绍。 首先,Nginx提供了多种日志配置指令,这些指令可以定义日志记录的行为和格式。以下是两个核心的指令: 1. access_log:此指令用于开启或关闭访问日志,并设置日志...
以下是一个基本的日志切割脚本示例: ```bash #!/bin/bash # 定义日志文件路径 ACCESS_LOG_PATH=/var/log/nginx/access.log ERROR_LOG_PATH=/var/log/nginx/error.log # 定义日志备份目录 LOG_BACKUP_DIR=/var/...
总之,`nginx日志按时间切割.zip`提供的批处理脚本为Windows环境下Nginx日志管理提供了一种基础解决方案。通过定期运行此脚本,可以有效地管理和跟踪Nginx服务器的日志信息,这对于日常运维和问题排查具有重要意义。...
日志切割脚本可以根据实际需求进行调整,例如定时执行(如通过cron job),或者增加压缩已切割的日志文件等功能。同时,为了保证服务的稳定性和安全性,日志目录的权限应适当地设定,一般建议Nginx运行用户对日志...