nginx多server日志分割脚本分享_linux shell

1,配置多个server日志只要在$website变量增加并用空格分开就行。
2,循环创建日志目录
3,分割后用xz 压缩,当然没安装可以用gzip bzip2等等。
4,注意我配置nginx日志文件名为 "access_{{站点网站}}.log" "error_{{站点网站}}.log"

复制代码 代码如下:

# !/usr/bin/bash
log_dir="/usr/local/nginx/logs"
back_log_dir="/disk110/nginx_log"
time=`date +%Y%m%d-%H:%M:%S`  

website="www.test1.com www.test2.com www.test3.com";

for i in $website
do
 if [ ! -d ${back_log_dir}/${i} ]
 then
  mkdir ${back_log_dir}/${i}
 fi
done 

for i in $website
do
 if [ -s ${log_dir}/access_${i}.log ]
 then
  mv ${log_dir}/access_${i}.log ${back_log_dir}/${i}/access_${time}.log
 fi

 if [ -s ${log_dir}/error_${i}.log  ]
 then
  mv ${log_dir}/error_${i}.log ${back_log_dir}/${i}/error_${time}.log
 fi

done

kill -USR1 `cat  /usr/local/nginx/logs/nginx.pid`

for i in $website
do
 if [ -s ${back_log_dir}/${i}/access_${time}.log ]
 then
  xz  ${back_log_dir}/${i}/access_${time}.log
 fi

 if [ -s ${back_log_dir}/${i}/error_${time}.log ]
 then
  xz  ${back_log_dir}/${i}/error_${time}.log
 fi

done

时间: 2024-08-01 09:40:58

nginx多server日志分割脚本分享_linux shell的相关文章

nginx日志切割脚本分享_linux shell

实现方法一 #!/bin/bash Logs_path="/data/Application/nginx/logs" Pid_path="/data/Application/nginx/nginx.pid" Month=`date +%Y-%m` Date=`date +%Y-%m-%d` Time=`date +%H` WaitTime=$((24*60*60)) LogCut() { cd $Logs_path mkdir -p $Month while tru

Linux服务器硬件运行状态及故障邮件提醒的监控脚本分享_linux shell

监控硬件运行状况 shell 监控cpu,memory,load average,记录到log,当负载压力时,发电邮通知管理员. 原理: 1.获取cpu,memory,load average的数值 2.判断数值是否超过自定义的范围,例如(CPU>90%,Memory<10%,load average>2) 3.如数值超过范围,发送电邮通知管理员.发送有时间间隔,每小时只会发送一次. 4.将数值写入log. 5.设置crontab 每30秒运行一次. ServerMonitor.sh #

Nginx和PHP-FPM的启动、重启、停止脚本分享_linux shell

服务器上的Nginx和PHP都是源码编译安装的,不像ubuntu一样有自带service启动脚本,所以不支持类似以前的nginx (start|restart|stop|reload)了.自己动手丰衣足食.以下脚本应该在RHEL, Fedora, CentOS下都适用. 一.Nginx启动脚本/etc/init.d/nginx 复制代码 代码如下: #!/bin/bash # # Startup script for Nginx - this script starts and stops th

阿里云主机一键安装lamp、lnmp环境的shell脚本分享_linux shell

阿里云主机一键安装lamp,lnmp,自动安装脚本,由阿里云主机分享 一键安装包下载地址:点击下载 1.阿里云分享的一键安装lamp,lnmp,此安装包包含的软件及版本为: 复制代码 代码如下: nginx:1.0.15.1.2.5.1.4.4 apache:2.2.22.2.4.2 mysql:5.1.73.5.5.35.5.6.15 php:5.3.18.5.4.23.5.5.7 php扩展:memcache.Zend Engine/ OPcache ftp:(yum/apt-get安装)

一个简洁的全自动安装LNMP服务器环境的Shell脚本分享_linux shell

此脚本在生产服务器上使用了一年多,本脚本崇尚简单唯美,只需要一个脚本就可以在任何一台有网络的服务器上自动配置LNMP. 本脚本会在脚本执行目录下,建packages目录用于存放LNMP所需要的软件.大家安装完可以删除该目录. 使用方法: 1.把shell脚本的内容保存为nginx_php 2.root权限下运行: 复制代码 代码如下: chmod u+x nginx_php; ./nginx_php init; ./nginx_php ins_mysql-server; ./nginx_php

expect实现批量修改linux密码脚本分享_linux shell

最近对linux批量执行的脚本很感兴趣,在网上到处找有关expect批量执行脚本,今天就给大家共享一个批量修改密码的脚本. 脚本内容: 复制代码 代码如下: #!/usr/bin/expect if { $argc<2 } {     send_user "usage: $argv0 <host file> <cmd file> \n"     exit }   # 机器列表数据格式:  IP  端口  旧密码  新密码 set hostfile    [

Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享_linux shell

环境: ssh server: 192.168.100.29  server.example.com ssh client: 192.168.100.30  client.example.com 通过root用户建立秘钥认证实现SHELL脚本管理,分发,部署 首先client端创建秘钥对,并将公钥分发给需要登录的SSH服务端 注:公钥相当于锁,私钥相当于钥匙,我们这里相当于在客户端创建一对钥匙和锁,想要做到SSH免密码登录,就相当于我们将锁分发到服务端并装锁,然后客户端就可以利用钥匙开锁. 一.

定时导出mysql本地数据替换远程数据库数据脚本分享_linux shell

复制代码 代码如下: 需求在每天的5点将192.168.3.5上ser_a库中的tb_a表导入到192.168.3.6上的ser_b库中,表名还叫tb_a服务端脚本/usr/shell_clubs/auto_sql/server.sh#!/bin/sh#code by scpman/usr/bin/find /usr/shell_clubs/auto_sql/ -name "*.sql" -mtime +3|xargs rm #del old sql#get new sqltime=`

实现android自动化测试部署与运行Shell脚本分享_linux shell

我的配置是linux 64, android4.2.2的sdk. 实现的细节都在代码注释里了,变量名以及echo的内容也是说明的一部分. 主流程为: 1.检测是否指定端口的模拟器已经运行,若有则关闭 2.创建模拟器 3.启动模拟器 4.用ant build包,通过检查bin目录下有没有apk来确定是否成功 5.检查指定端口的模拟器是否已正常运行 6.用adb安装apk 7.启动apk的activity,让程序自己跑 8.用shell ps循环检测程序是否已退出,若已退出,检查是否sdcard是是