shell切割日志脚本

 1 #!/bin/bash
 2
 3 set -e
 4
 5 source /etc/bashrc
 6
 7 cd `dirname $0`
 8
 9 linenum=`wc -l userinfolist.txt | awk ‘{print $1}‘`
10
11 n1=1
12
13 file=1
14
15 while [ $n1 -lt $linenum ]
16 do
17   n2=`expr $n1 + 9999`
18   sed -n "${n1}, ${n2}p" userinfolist.txt>/home/jideyue/logs/userdir/file_$file.log
19   n1=`expr $n2 + 1`
20   file=`expr $file + 1`
21 done

set -n "1,1000p" 表示从第1行到1000行。按照上面的脚本表示 每10000行 一个文件。

时间: 2025-01-08 05:45:03

shell切割日志脚本的相关文章

python写的nginx切割日志脚本

#!/usr/bin/env pthon #_*_coding=utf-8_*_ #python版本(nginx日志切割脚本) import os import datetime #access.log路径 accesslogs_path = "/usr/local/nginx/logs/" #昨天的日期 lastDate = datetime.date.today() - datetime.timedelta(days=1) #备份路径 bak_path = "%s%s/%

nginx切割日志脚本(python)

因为以前没有做nginx日志分割,有时候想看日志的时候总是发现有十几G的甚至上百G的日志文件,于是就想使用python写个nginx日志分割(当然你也可以使用shell来完成都是很简单) 需求:1.按照日分割nginx所有日志2.由于日志不需要随时可以查看,需要做归档(压缩.tar.gz)3.归档日志需要有过期时间和容量限制(分割日志需要做定期的删除,超过一定时间或者目录大小超过一定容量) 分析:按照需求,我们需要 备份前一天日志---->重新加载日志文件---->压缩日志文件---->

Nginx 切割日志脚本

非常的简单, 主要是留一个记号, 方便以后使用 #!/bin/bash access_path="/usr/local/nginx/logs/" logs_path="/webdata/logs/" mkdir -p ${logs_path}$(date '+%y_%m')/$(date '+%d')/ mv ${access_path}access.log ${logs_path}$(date '+%y_%m')/$(date '+%d')/access_$(da

Shell执行将脚本里的变量打印到指定日志文件

首先需要定位获取任务的运行日志或者报错信息,才能定位问题. 通过shell调用有些脚本的话,日志信息会打印在shell里.不过也有用户在shell里调用正常,但是到crontab调用的时候就出错并且没日志了. 针对这种情况,可以在crontab里把任务执行的输出记录下来,后续出了问题可以到日志文件里获取任务的日志.可以参考:  abc -f xxx.sql >> /home/admin/logs/xxx.log 2>&1  待续...

centos记录uptime,tomcat日志切割,远程拷贝日志脚本

1.uptime日志脚本(每天记录) #!/bin/sh dir=/tmp/uptime_log process=`ps -ef|grep $0|grep -v "grep" |grep -v "vim"|grep -v "ps"|wc -l` if [ $process -gt 2 ];then echo $process exit; fi if [ ! -d $dir ];then mkdir -p $dir; fi while true d

shell清除日志小脚本

1 #!/bin/bash 2 #清除日志脚本 3 LOG_DIR=/var/log 4 ROOT_UID=0 #用户id为0的 ,即为root 5 6 if [ "$UID" -ne "$ROOT_UID" ] #如果用户不是root,则不执行,退出 7 then 8 echo "Must be root run this sript!" 9 exit 1 10 fi 11 12 cd $LOG_DIR || { #如果切换目录失败,退出8i

NGINX按天切割日志

NGINX按天切割日志 偶然发现access.log有46G大,所以将其切割. Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量非常大,不便于管理.当然了,我们也不希望看到这么庞大的一个访问日志文件,那需要手动对这个文件进行切割. 在 Linux 平台上 Shell 脚本丰富,使用 Shell 脚本+crontab 命令能非常方便地进行切割,操作

nginx按分钟切割日志

网上有许多按照天切割日志的.但是由于应用需要,对该web服务器进行更详细的分析!所以要按照分钟切割.研发部门的要求是他们有一个工具是扫描日志的工具,扫描完成后的日志会有.complete的后缀,扫描完的日志全部移到history_logs中.采用的是两个脚本来完成的此需求! 1.切割日志的脚本如下: vim nginx_log.sh #!/bin/bash #将nginx的日志按照分钟切割 #定义日志文件的路径 logs_path=/opt/nginx/logs/ #定义nginx的进程号的路径

Linux Shell 运维脚本功底积累

1.删除Linux远程用户连接会话 [[email protected] logs]# w 10:45:28 up 15 days, 16:23, 4 users, load average: 0.00, 0.00, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root tty1 - Sun21 4days 0.00s 0.00s -bash root pts/0 192.168.1.2 09:11 0.00s 0.07s 0