概述 看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本.下面分享几个shell脚本实例. 1.监测Nginx访问日志502情况,并做相应动作 假设服务器环境为lnmp,近期访问经常出现502现象,且502错误在重启php-fpm服务后消失,因此需要编写监控脚本,一旦出现502,则自动重启php-fpm服务. #场景:#1.访问日志文件的路径:/data/log/access.log#2.脚本死循环,每10秒检测一次,10秒的日志条数为3…
1.安装httpd #!/usr/bin/bash getway=192.168.1.1 ping -c1 www.baidu.com &>/dev/null if [ $? -eq 0 ];then yum -y install httpd systemctl start httpd systemctl enable httpd firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-servic…
Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ifconfig 查询.设置网卡和ip等参数 ifup,ifdown    脚本命令,更简单的方式启动关闭网络 ip 符合指令,直接修改上述功能 在我们刚装好linux的时候,需要用xshell进行远程连接,那就得获取ip地址,有时候网卡默认是没启动的,Linux也就拿不到ip地址,因此我们得手动启…
使用 shell 脚本来实现 LANMP 系统的一键安装.使用的操作系统是 CentOS 6 ,不区分 32 位和 64 位,要求机器可以连通互联网.支持 LAMP 和 LNMP ,MySQL 支持 5.1 和 5.6 两个版本, php 支持 5.3 和 5.6 两个版本, apache 2.2 ,nginx 1.8. 代码如下: #!/bin/bash echo "It will install lamp or lnmp." sleep 1 # get the archive of…
       为了编写nginx自动部署的脚本而刚学习的shell脚本语言.写文章只是为了记录,有错误勿喷. 一.创建shell脚本程序        操作系统是Linux的 CentOS 7 版本.解释器默认使用 bash .        首先是使用vim命令创建一个shell脚本程序.            vim nginx-install.sh       //使用vim编写文件是,按“I”表示开始输入.        关于注释的问题: 在shell中使用#进行注释,注意,sh里面没有…
1  cd / 2 mkdir -p /app/ios 3  cd /opt     mkdir ios 4   把下载好的centos-6.7-x86_64-bin-dvd1.iso  上传到 /opt/ios目录下 5 把光盘挂载到 /app/ios目录下 mount -o loop /opt/ios/CentOS-6.7-x86_64-bin-DVD1.iso /app/ios 二 配置本地yum源 cd /etc/yum.repos.d/   #进入yum配置目录 vi  CentOS-…
需要安装的包: # rpm -qa|grep zabbix zabbix-server-2.4.3-1.el6.x86_64 zabbix-web-mysql-2.4.3-1.el6.noarch zabbix-agent-2.4.3-1.el6.x86_64 zabbix-get-2.4.8-1.el6.x86_64 zabbix-release-2.4-1.el6.noarch zabbix-server-mysql-2.4.3-1.el6.x86_64 zabbix-web-2.4.3-1…
http://www.bubuko.com/infodetail-2004218.html http://www.bubuko.com/infodetail-2004218.html **************************************** 1报错信息:    参考:https://www.centos.org/forums/viewtopic.php?t=36563 [root@LinuxS04 site-packages]# yumThere was a proble…
因为redhat中的yum是收费的,未注册时不允许使用的,下面是挂载光盘后的情况,未挂载是没有yum命令.但是下面即便挂载了也是需要验证的 [root@localhost /]# yum install openssl Loaded plugins: product-id, refresh-packagekit, security, subscription-manager Updating certificate-based repositories. Unable to read consu…
找到mysql5.6的centos的repo源,终于解决mysql的安装问题: 1.确保centos安装了wget,没有的话安装wget   1 yum install wget 2.下载mysql的repo源   1 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 3.安装mysql-community-release-el7-5.noarch.rpm包   1 rpm -ivh mysql-communi…
1.下载mysql源安装包 $ wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm   2.安装mysql源 $ yum localinstall mysql57-community-release-el7-8.noarch.rpm    3.检查mysql源是否安装成功 $ yum repolist enabled | grep "mysql.*-community.*"   4.修改yum…
参考地址:https://blog.csdn.net/u010048823/article/details/51298183 以epel源为例子,来讲解如何添加额外的YUM源. Extra Packages for Enterprise Linux (EPEL) 一直不知道epel是什么意思,只知道安装它.上面是它的全称. 一台服务器上,默认的YUM源可能会少很多包,所以我们要手动增加新的YUM源. 1.查看初始状态的YUM源 2.添加新的EPEL源 https://fedoraproject.…
Linux下软件的安装:方式:yum/rpm/源码安装YUM安装(帮助管理员解决依赖关系):yum search mysqld 在源中搜索软件包yum install mysql-connector-odbc.x86_64 安装软件yum remove mysql 卸载软件 yum erase mysql RPM安装:查询已安装软件的信息:rpm -q mysql:仅查询,后面接的软件名称是否有安装rpm -qa:列出所有的,已经在本机上安装的软件rpm -qa | grep mysql: 查询…
由于centos的标准组件中是不带rrdtool的,因此我们需要添加一个dag的yum源,以安装rrdtool. 修改/etc/yum.repos.d/CentOS-Base.repo, #vi /etc/yum.repos.d/CentOS-Base.repo 在其末尾追加 [dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://apt.sw.be/redhat/el$releasever/en/$ba…
mysql的部署 查看Linux发行版本 cat /etc/redhat-release 下载MySQL官方的Yum Repository wget -i http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm 安装MySQL的Yum Repository yum -y install mysql57-community-release-el7-7.noarch.rpm 安装MySQL数据库的服务器版本 yum -y…
今天我给大家分享shell 安装mysql 多机部署的实例,本次实验是基于各个主机的公钥已经配置好了,如果还不会推送公钥的同学,可以看看我以前写的文章,那里面有写推公钥的实例,mysql 多机部署一般有两种办法,一种是远程ssh 安装,一种是将脚本推送到服务器本地安装,今天给大家分享的是ssh远程安装,回头了本地安装的方法我也给大家分享下. #!/usr/bin/bash while read ip do { #yum 配置yum源 ssh root@ip "rm -rf /etc/yum.re…
shell脚本监控网站并实现邮件.短信报警shell进程监控脚本(发送邮件报警)Shell脚本监控服务器在线状态和邮件报警的方法 http://www.jbxue.com/jb/shell/ 11. #!/bin/bash a="/tmp/test.log" while [[ -f $a ]]; do sleep 1; size=`ls -lrt $a | cut -d " " -f 5` echo $size if [ $size -ge 1024 ]; then…
概述 读书百遍其义自见,shell脚本也是,只要例子看得多了,自然就知道怎么写了.这里主要整理了20几个例子,因为内容比较多,所以分了几次来做介绍了.下面的实例最好先自己思考怎么去实现,然后再看下实现的方式,答案不是标准的,也存在一些可以继续完善的地方. 1.文件以日期命名,并写入磁盘使用情况 #!/bin/bash ##################################################文件以日期命名,并写入磁盘使用情况#######################…
一. 什么是shell 脚本时一种解释性语言: shell脚本保存执行动作: 脚本判定命令的执行条件 脚本来实现动作的批量执行.二.如何创建 vim  test.sh     ##shell脚本一般都是以.sh结尾三.执行方法  1.sh  test.sh              ##不执行开头的的命令  2.chmod +x  test.sh    /mnt/test.sh             ##执行的时候会先执行以#开头的第一句 四.脚本的调示  sh  -x  test.sh  …
备注:一些与传递给shell的参数相关的变量:$# 命令行参数的个数$? 调用命令的返回值$$ 当前进程的进程号$! 最后一个后台命令的进程号$0 命令行的第一个参数,也就是命令名$n 命令行的第n个参数,如果要取超过9个参数${n}$* 所有的命令行参数,等于("$1 $2...""$@" 所有的命令行参数,等于("$1" "$2"...)$_ 前一个命令的最后一个命令行参数   1.     写一个脚本,利用循环计算10的…
shell脚本能帮我们简化linux下的一些工作,现在有个需求,把TMPA文件夹下大于2000B的文件都移动到TMPB下 #! /bin/bash function movefiles() { ` do ] then mv $"/"$file fi done } movefiles "/home/jimmyxu/TMPA" "/home/jimmyxu/TMPB" 脚本很简单,使用for循环遍历第一个输入路径下的文件,使用stat获取文件的属性值…
一.说明在现实环境中可能需要批量部署服务器,那么在我们已经部署好一台服务以后如果实现剩下的服务批量安装呢: 使用shell能否实现功能: 假设我们要部署lamp或者是lnmp如何实现脚本部署? 使用以下代码可实现: 部署方法1: #!/bin/sh menu ( ){ cat<<END .[install lamp] .[install lnmp] .[exit] pls input the num that you want: END } menu read num echo "y…
根据mongodb官网提供的教程安装: 1.创建mongdb-org-3.4.repo 2.使得selinux的config为disabled 3.yum -y install mongodbxxxxxx 4.配置/etc/mongod.conf 5.service mongod start [root@bogon yum.repos.d]# touch mongodb-org-3.4.repo [root@bogon yum.repos.d]# ls CentOS-Base.repo  Cen…
准备工作 MySQL 该版本下载地址: https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz mysql_install-v1.0.sh脚本如下: #!/bin/bash # MySQL 安装日志信息 log=/var/log/mysql_install.log # MySQL压缩包路径 MySQLPath=/root/mysql-5.7.30-linux-gli…
#: 在所有节点执行 [root@localhost ~]# yum install centos-release-openstack-stein -y #: 安装相关组件(只在管理端和计算几点安装) [root@localhost ~]# yum install python-openstackclient openstack-selinux -y #:注意:所有几点不要安装epel源…
#!bin/bash set -e # Check if user is root if [ $(id -u) != "0" ]; then echo "Error: please use root to install" exit 1 fi id -u www >& /dev/null if [ $? -ne 0 ]; then groupadd www useradd -g www -M -s /sbin/nologin www fi PHP_IN…
##############################Deploy nfs######################## echo "start deploy nfs-server" cat $basepath/package/exports > /etc/exports systemctl restart rpcbind systemctl enable rpcbind systemctl restart nfs systemctl enable nfs rm -rf…
#!/usr/bin/bash PS3="Your choice is: [10 for quit]" #检查是那个系统 os_check() { if [ -e /etc/redhat-release ]; then REDHAT=`cat /etc/redhat-release |cut -d' ' -f1` else DEBIAN=`cat /etc/issue |cut -d' ' -f1` fi if [ "$REDHAT" == "CentOS…
练习一:获得连通主机的ip和hostname1.脚本编写 vim  checkhost.sh #!/bin/bashAuto_conn(){/usr/bin/expect << EOFset timeout 2spawn ssh root@$1 $2expect {"yes/no" {send "yes\r";exp_continue }"password" {send "westos\r" }}expect eo…
练习题一:对已经存在的用户做密码的修改等操作 vim  user_ctrl.sh                 ##进行如下编写 #!/bin/bashShow(){        read -p "请输入您想操作的用户名或输入exit退出:" User        [ "$User" = "exit" ]&&{                echo bye!!                exit        }||{…