nginx日志切割脚本,自动上传到日志服务器

nginx日志切割脚本,自动上传到日志服务器

1 nginx是yum方式安装,系统会自动生成nginx日志切割计划任务在/etc/logrotate.d/nginx下,把自动生成的计划任务删除,自己编写切割脚本,并传到统一存放日志的服务器上。  www.ahlinux.com

2 安装ncftp包,用于日志传输时使用。

3 简单切割脚本如下:

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin

export PATH

yesterday=`date +%Y%m%d -d ‘-1 day‘`

cd /var/log/nginx

mv access.log test_ip_$yesterday.log

kill -USR1 `cat /var/run/nginx.pid`

gzip test_ip_$yesterday.log

/usr/local/bin/ncftpput -u log -p 123456  192.168.1.1 test_ipdir  test_ip_$yesterday.log.gz

4 每天凌晨1分执行

0 1 * * * /root/putaccess.sh

时间: 2024-08-07 20:33:29

nginx日志切割脚本,自动上传到日志服务器的相关文章

nginx日志切割脚本,python实现

# 自搭建了个人博客 有需要交流学习的可以访问 www.wpython.com #!/usr/bin/env python   import datetime,os,sys,shutil   log_path = '/alidata/log/nginx/access/' log_file = 'www.wpython.com.log'   yesterday = (datetime.datetime.now() - datetime.timedelta(days = 1))   try:    

Nginx日子切割脚本

#!/bin/bash #nginx日志切割脚本 [ $UID !=0 ] && { echo "Please run as root" exit 1 } logs_path="/usr/local/nginx/logs/" mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m&qu

keepalived结合nginx状态检测脚本实现对web服务器集群的高可用

实验环境 两台CentOS-7.5虚拟机web1:10.0.11.203web2:10.0.11.204VIP :10.0.11.210web类型:nginx客户端:自用笔记本(win10)nginx状态检测脚本:ck_nginx.sh 实验一.使用keepalived简单实现web集群的高可用功能 1.准备两台web服务器 1)web1网卡情况[[email protected] ~]# [[email protected] ~]# ip a 2)web2网卡情况[[email protect

Nginx日志切割脚本实践

因为nginx存放的日志文件逐渐增大,导致日后想察看某个时间的日志的时候,打开巨大文件所带来的性能代价和时间定位查找麻烦,因此需要对日志文件按照时间和频率进行切割.切割过程如下: 创建当前时间目录,比如年/月目录 然后将当前指定的日志,剪切到该创建好的目录下 重启nginx服务,重新生成0kb大小的新日志文件 通过计划任务,周期性执行以上切割日志,重新生成日志的操作就能达到既让日志文件保持一定大小而且又能按照指定的时间格式和目录进行存放.方面查询的便利和文件打开的快速. 切割脚本代码如下: 1

linux shell:nginx日志切割脚本

需求原因:nginx不具备日志切割功能,日志量较大,方便分析. 实现目的:完成nginx日志切割,并根据时间命名 简要命令: mv /usr/local/tengine/logs/access.log /usr/local/tengine/logs/access-date.log kill -USER1 Nginx主进程号. 解释: 通过mv命令重命名日志,并且通过kill -USER1 nginx-id的命令,告诉nginx需要写新的日志, 不然nginx不会在mv之后继续写日志. 我们可以通

简单的nginx日志切割脚本

#!/bin/bash savepath_log='/opt/apps/nginx/nglogs' nglogs='/opt/apps/nginx/logs' mkdir -p ${savepath_log}/$(date +%Y)/$(date +%m) mv $nglogs/error.log ${savepath_log}/$(date +%Y)/$(date +%m)/error.$(date +%Y%m%d).log mv $nglogs/access.log ${savepath_l

nginx日志切割脚本

# 编写切割脚本 # vim /data0/scripts/cut_nginx_log.sh #!/bin/bash logs_path="/data0/log/nginx" YDATE=`date  +"%Y"` MDATE=`date  +"%m"` DDATE=`date -d"1 day ago" +"%d"` HDATE=`date  +"%H"` mkdir -p ${log

日志大了,怎么办?用我的日志切割脚本吧!

本文转载自https://www.imooc.com/article/13260 分享一个脚本,它配合linux系统的crontab任务,对nginx自动日志切割和清理,分别作用于ACCESS和ERROR的日志. 特点: 1.功能丰富 应有的功能中,不仅支持按天切割,而且支持通过通过设置文件大小作切割. 2.通用 通用于nginx.tengine,通过简单改进也能有好的支持切割清理httpd.lightd等其他Web server 日志. 3.更加易于理解 用shell方式相对更加好理解,并且易

nginx日记切割脚本,mysql定期备份脚本

大部分的日记切割和备份机制的都是一样:下面是nginx的日记切割脚本 #!/bin/bash logpath = '/home/nginx/log' nglogs = '/opt/nginx/logs mkdir -p $logpath/$(date +%Y)/$(date +%m) mv  $nglogs/access.log  $logpath/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log mv  $nglogs/error.log