#!/bin/sh ##################################################### # Name: create_nginx_conf.sh # Version: V1. # Author: 运维菜鸟 # Description: 创建nginx相关配置文件 # Create Date: -- # Email: ##################################################### #env.sh文件内容格式:10.…
Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常时查日志,还是使用"GoAccess"等工具对日志进行分析都将会变得非常麻烦.因此,每天定时对nginx日志进行切割压缩就非常有必要了 二 实现 我的实现思路是每天晚上接近12点时定时执行脚本.其脚本内容就是将当前的nginx日志先按照当天日期进行重命名接着进行压缩,最后是新建空白的ngi…
shell脚本分析nginx日志: name=`awk -F ',' '{print $13":"$32}' $file | awk -F ':' '{print $4}'`echo "name=$name" awk -F http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html 抽取nginx日志access.log中的状态码,然后统计状态码中大于等于200小于300的数量 grep -ioE…
#!/bin/bash ##################################################### # Name: change_nginx_upstream_conf.sh # Version: V1. # Author: 运维菜鸟 # Description: 更改nginx upstream配置文件 # Create Date: -- # Email: #####################################################…
Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量非常大,不便于管理.当然了,我们也不希望看到这么庞大的一个访问日志文件,那需要手动对这个文件进行切割. 在 Linux 平台上 Shell 脚本丰富,使用 Shell 脚本加 crontab 命令能非常方便地进行切割,但在 Windows 平台上就麻烦一些了,刚才弄了好长时间,就在这里记录整理一下.…
vim /data/runlog.sh                                                  #编辑一个 shell 脚本 #!/bin/bash LOGPATH=/usr/local/nginx/logs/z.cn.access.log                  //日志的路径 BASEPATH=/data/$(date -d yesterday +%Y%m)   #echo $BASEPATH                        …
下面为shell脚本编写的nginx的安装及修改nginx.conf的脚本,脚本比较简单: #!/bin/bash function yum_install(){ yum install epel-release -y yum install nginx -y} yum_install pw=/etc/nginx/nginx.confread -p "请输入组名:" zuread -p "请输入第一个ip地址:" ip1read -p "请输入第二个ip地…
       为了编写nginx自动部署的脚本而刚学习的shell脚本语言.写文章只是为了记录,有错误勿喷. 一.创建shell脚本程序        操作系统是Linux的 CentOS 7 版本.解释器默认使用 bash .        首先是使用vim命令创建一个shell脚本程序.            vim nginx-install.sh       //使用vim编写文件是,按“I”表示开始输入.        关于注释的问题: 在shell中使用#进行注释,注意,sh里面没有…
当我们在linux平台上开发一些项目时,或者有一些项目是需要部署到linux系统上时,有时候会涉及到linux上的特定的账户,例如有一些项目需要运行在某些特定的账户下,或者有时候需要在全新的环境上搭建一些环境(例如:LAMP)linux+apache+mysql+php 时都可能会涉及到需要添加一些账户信息.如果此时用脚本来维护这些account,就会简化一些不必要的操作,大家应该都知道在linux如果手动添加用户都会涉及到一个交互的操作,无论你是用useradd命名或者直接操作/etc/pas…
一概述 前面19章里已经掌握了linux系统和命令行的基础知识,从本章开始继续学习shell脚本的基础知识.在大量编辑shell脚本前,先来学习下一些基本概念. 1.1    使用多个命令 Shell可以让多个命令串起来,一次执行完成,可以把它们放在同一行中,用分号隔开,如下所示: 上面就是一个简单的脚本了,用到了两个bash shell命令,但每次运行之前,都必须在命令提示符下输入整个命令.如果将命令组合成一个简单的文本文件,需要时运行这个文本文件就行了. 1.2    创建shell 脚本文…
当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在做优化时候,经常用到的一段shell 脚本. 这个也可以算是,统计web页面的slowpage 慢访问页面,象mysql slowquery .nginx 日志配制: log_format main '$remote_addr - $remote_user [$time_local] $reques…
shell脚本并不能作为正式的编程语言,因为它是在Linux的shell中运行的,所以称他为shell脚本. 事实上,shell脚本就是一些命令的集合. 我们不妨吧所有的操作都记录到一个文档中,然后去调用文档中的命令,这样一步操作就可以完成了 一般shell脚本都是放在/usr/local/sbin的目录下 1.shell脚本的创建和执行 #cd usr/local/sbin # vim first.sh #! /bin/bash ##this is my first shell script…
原因:Linux系统的换行符是"\r\n",Windows上的换行符是"\n",Windows上编写shell脚本上传Linux,Linux无法正确识别"\n",导致. 解决办法1:生成文件名的那一行写完脚本之后敲个空格再换行就可以了. 解决办法2:把编写的shell脚本粘贴进vim编辑的环境中,保存即可.…
1.NGINX启动脚本 #!/bin/bash # chkconfig: 235 32 62 # description: nginx [ -f /etc/init.d/functions ] && . /etc/init.d/functions pidfile=/application/nginx/logs/nginx.pid start(){ if [ -f $pidfile ];then echo "Nginx is Running" else /applicat…
#!/bin/bash N_url="http://nginx.org/download/nginx-1.8.0.tar.gz" N_pack=`echo $N_url|awk -F '/' '{print $5}'` N_upack=`echo $N_url|awk -F '/' '{print $5}'|awk -F '.' '{print $1"."$2"."$3}'` N_dir="/usr/local/nginx"…
--作者:飞翔的小胖猪 --创建时间:2021年5月16日 --修改时间:2021年5月16日 说明 运行脚本,用户手动输入信息生成身份证号.该程序的核心在于函数模块化及select的使用. 注意:该程序仅限于学习使用!请勿挪作它用!切勿用于非法用途!非法使用造成的一切后果由自己承担,与本作者无关. 文件说明 程序主要有4类文件组成,分为主程序脚本.子程序脚本.省份列表文件.城市列表文件. id_card_generation.sh:主程序脚本文件 sub_choice_province.sh:…
nginx每天日志量比较大的时候,最好每天自动切割,存储,这样可以方面以后的查询和分析 #!/bin/sh ################### #filename: nginx_log_rotate.sh #vsersion: 0.1v #1 0 * * * /bin/sh /home/project/monitor/nginx_log_rotate.sh >/dev/null 2>&1 ################### logs_path="/usr/local/…
[root@localhost init.d]# cat nginx #!/bin/bash #nx Startup script for the Nginx HTTP Server # it version. # chkconfig: - # description: Nginx is a high-performance web and proxy server. # It has a lot of features, but it's not for everyone. # process…
重要使用的是EOF的功能,亲测和!功能一致:下面是测试代码 #!/bin/bash val=`ls`for v in ${val} do if [ ${v} == "test.db" ] then rm test.db echo "rm test.db" fidone sqlite test.db << EOFcreate table test(name char,sex char);insert into test values("yang&…
统计2018/8/6 PV量 grep "06/Aug/2018" access.log|wc -l 统计当天8:00 到9:00的PV awk '$4>="[06/Aug/2018:21:59:57" && $4<="[06/Aug/2018:24:00:00" {print $0}' access.log|wc -l 统计2018年8月6日 一天内访问最多的10个IP(top10) grep '06/Aug/201…
nginx自己不会对日志文件进行切割,可以通过两种不同的方式进行,分别是:通过logrotate和通过shell脚本. 如果是yum方式安装的nginx,系统默认会自动通过logrotate这个日志管理软件,按天进行分割(配置如下,具体含义可看下文). [root@flume- ~]# cat /etc/logrotate.d/nginx /var/log/nginx/*log { create 0644 nginx nginx daily rotate 10 missingok notifem…
编写shell脚本,实现nginx日志每天自动备份到指定文件夹! 需要的命令mv , corntab -e(定时任务),shell脚本 这里先说一下corntab: https://www.cnblogs.com/longjshz/p/5779215.html  这里有一篇详细介绍corn的, 这里只简单说一下用法: corntab -e 就可以编写我们需要的定时任务,编辑之后保存即可,需要按指定格式: 比如: 0 6 * * * echo "Good morning." >&g…
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息对话框弹出,需要你的输入.对话框的类型有密码箱,检查表,菜单,等等.他们可以引导你以一种直观的方式输入必要的信息,使用这样的用户友好的对话框的好处是显而易见的.如下图所示: 当你写一个交互式shell脚本,你可以使用这样的对话框来接受用户的输入.whiptail可以在shell脚本中创建基于终端的对…
一.shell脚本部署nginx反向代理和三个web服务 1 对反向代理服务器进行配置 #!/bin/bash #修改用户交互页面 用户输入参数执行相应的参数 #安装epel扩展包和nginx function ng_yum_install(){ yum install epel-release -y yum install nginx -y yum install rpcbind nfs-utils -y } #nginx init function #nginx status #nginx…
Shell是用户与Linux或Unix内核通信的工具,shell编程指的并不是编写这个工具,而是指利用现有的shell工具进行编程,写出来的程序是轻量级的脚本,我们叫做shell脚本. Shell的语法是从C语言继承过来的,因此我们在写shell脚本的时候往往能看到c语言的影子. Shell脚本实在是太灵活了,相比标准的Java.C.C++ 等,它不过是一些现有命令的堆叠,这是他的优势也是他的劣势,太灵活导致不容易书写规范.     先简单介绍一下Shell: 什么是shell? Shell是一…
什么是shell? Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户.这种对话方式可是交互也可以是非交互式的,我们所输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们.   什么是SHELL脚本? shell脚本:就是说我们把原来linux命令或语句放在一个文件中,然后通过这个程序文件去执行时,我们就说这个程…
Shell脚本介绍 1.Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合. 2.Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行程序,如果熟练掌握Shell脚本,可以让我们操作计算机变得更加轻松,也会节省很多时间. 3.Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本,常见的脚本解释器有: (1).bash:是Linux标准默认的shell.b…
如果一个系统管理员花费大量的时间解决问题以及做重复的工作,你就应该怀疑他这么做是否正确.一个高效的系统管理员应该制定一个计划使得其尽量花费少的时间去做重复的工作.因此尽管看起来他没有做很多的工作,但那是因为 shell 脚本帮助他完成了大部分任务,这也就是我们将要探讨的东西. 什么是 shell 脚本? 简单的说,shell 脚本就是一个由 shell 一步一步执行的程序,而 shell 是在 Linux 内核和最终用户之间提供接口的另一个程序. 默认情况下,RHEL 7 中用户使用的 shel…
目录 环境还原 环境创建 编写shell脚本 准备文件 创建shell脚本 执行shell脚本 进阶版 感谢 诚邀访问我的个人博客:我在马路边 更好的阅读体验点击查看原文:Shell脚本备份Mongodb数据库 原创博客,转载请注明出处 @ 项目需要对Mongodb的数据进行定期备份,以免出现什么差错难以追回,但是数据量比较大,本机硬盘不够用,还要异地备份,于是乎通过通过dump远程链接目标库,然后将数据dump到另一个位置,暂时还在执行中,如果有错误再进行修改. 环境还原 Mongodb服务器…
Linux下编写第一个Shell脚本 //创建一个.sh文件 vi demo1.sh //按i进入编辑模式 echo "Hello World !" //按esc→shift+:→wq(保存退出) //先 ll 查看一下 ll //给刚创建的文件一个可执行权限 chmod +x demo1.sh //再ll,你会发现脚本变成了绿色,这时说明脚本可执行了 ll //执行脚本 ./demo1.sh //或者 sh demo1.sh //使用第二种方法执行可以不用给执行权限…