Linux下日志按日分割的shell

这个脚本是在LNMP论坛找到的,感觉很不错~~

脚本如下:

#!/bin/bash
#function:cut nginx log files for lnmp v0.5 and v0.6
#author: http://lnmp.org

#设置你的日志存放的目录
log_files_path="/home/wwwlogs/"
#日志以年/月的目录形式存放
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#设置需要进行日志分割的日志文件名称,多个以空格隔开
log_files_name=(access www.abc3210.com)
#设置nginx的安装路径
nginx_sbin="/usr/local/nginx/sbin/nginx"
#Set how long you want to save
save_days=30

############################################
#Please do not modify the following script #
############################################
mkdir -p $log_files_dir

log_files_num=${#log_files_name[@]}

#cut nginx log files
for((i=0;i<$log_files_num;i++));do
mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
done

#delete 30 days ago nginx log files
find $log_files_path -mtime +$save_days -exec rm -rf {} \; 

$nginx_sbin -s reload

把上面的保存为.sh文件,然后给上可执行权限,再配合Linux的计划任务,完美拉~~~

(0)

相关推荐

  • Linux tomcat下catalina.out日志文件分割

    Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志.tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli.jar包到./bin/目录下: 2.拷贝log4j.jar,lo4j.properties到./lib目录下; 3.删除./conf/logging.properties 4.重启 log4j配置样本 实例代码: lo

  • linux下用csplit命令分割文件的方法示例

    适用场景 csplit命令用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件,csplit命令–>按照指定的范式来分割文件,保存为xx00,xx01-的文件. 拆解文件主要是split和csplit命令,如果说split是按大小来拆分的话,那么csplit则可按匹配来拆分 选项解释 $ csplit -h /[正则表达式]/ #匹配文本样式,比如/SERVER/,从第一行到包含SERVER的匹配行. {*} #表示根据匹配重复执行分割,直到文件尾停止,使用{整数}的形式指定分割

  • Linux下日志按日分割的shell

    这个脚本是在LNMP论坛找到的,感觉很不错~~ 脚本如下: #!/bin/bash #function:cut nginx log files for lnmp v0.5 and v0.6 #author: http://lnmp.org #设置你的日志存放的目录 log_files_path="/home/wwwlogs/" #日志以年/月的目录形式存放 log_files_dir=${log_files_path}$(date -d "yesterday" +&

  • Linux下实现SNMP一键安装的Shell脚本

    Net-SNMP是一个免费的.开放源码的SNMP实现,以前称为UCD-SNMP.SNMP 很多都用其安装之后,作为监控宝和阿里云的系统信息监控使用.下面就来分享linux下实现SNMP一键安装的shell脚本: #!/usr/bin/env bash export LC_ALL=C if [ "$(id -u)" != "0" ] then echo "This script. must be run as root" 1>&2 e

  • linux下日志定时轮询的流程详解

    logrotate介绍 对于Linux系统安全来说,日志文件是极其重要的工具.日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.当日志文件不断增长的时候,就需要定时切割,否则,写日志的速度和性能也会下降,更不便于我们归档,查询. 所以便有了使用logrotate的时候 ,logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件.例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除

  • linux下shell常用脚本命令及有关知识

    目录 一.需要记住的一些知识点 1.变量类型 2.shell变量说明 3.单引号和双引号和反引号的区别 4.shell转义字符 5. 算术运算符列表 6.关系运算符 7.布尔运算符列表 8. 文件测试运算符列表 二.常用脚本命令举例说明 一.需要记住的一些知识点 1.变量类型 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 2) 环境变量 所有的程序,包括shell启动的程序,都能访问环

  • Linux下nginx生成日志自动切割的实现方法

    Linux下nginx生成日志自动切割的实现方法 1.编辑切割日志的 shell 程序,目录自定 #vi /data/nginx/cut_nginx_log.sh 输入代码: #!/bin/bash # This script run at 00:00 function cutAccess() { dir=$1 newdir="${dir}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday&quo

  • Linux下文件剪切的shell脚本实现代码

    需求描述 编写shell脚本实现Linux下不同目录(路径)之间的文件的剪切(移动)操作. 其中,文件移动之前所在的目录称为源目录,文件移动之后所在的目录称为目的目录.要求当源目录不存在.源目录下无文件及剪切文件成功时,均要在屏幕上输出相关的日志信息:并且,在程序执行之前,只有源目录是存在的,目的目录需要由程序创建. shell脚本 umask 0000 if [ -d $1 ] then fcnt=`ls -l $1 | wc -l` if [ $fcnt -ne 1 ] then mkdir

  • Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

    System.out和System.err都被打印到catalina.out.catalina.out不会rotate.一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响. 1.可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息. [root@localhost conf]# pwd /usr/local/tomcat/conf [root@localhost conf]# cp logging.pr

  • Linux下定时切割Tomcat日志并删除指定天数前的日志记录

    System.out和System.err都被打印到catalina.out.catalina.out不会rotate.一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响. 1.可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息. [root@localhost conf]# pwd /usr/local/tomcat/conf [root@localhost conf]# cp logging.pr

  • linux下mysql如何自动备份shell脚本

    Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库.其实非常简单,主要就是使用 MySQL 自带的 mysqldump 命令. #!/bin/bash # Shell script to backup MySql database # To backup Nysql databases file to /backup dir and later pick up by your # script. You can s

随机推荐