![](https://img-blog.csdnimg.cn/20201130102704700.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Shell脚本
文章平均质量分 51
Shell脚本学习笔记
新秀后浪
这个作者很懒,什么都没留下…
展开
-
脚本和zabbix监控
1 .LNMP环境一键安装脚本1.1 要求可编译也可yum安装,最终显示phpinfo信息:修改nginx默认端口为8000修改nginx的连接数为10240修改nginx的默认首页启动每个服务前,需要先检测服务是否存在1.2 脚本内容如下:#!/bin/bashnginx_install() { if [ -f /root/nginx-1.18.0.tar.gz ];then echo "nginx源码包存在,开始解压..." cd /root原创 2021-01-26 14:18:45 · 2590 阅读 · 7 评论 -
keepalived 通过脚本实现高可用
1. 实验逻辑图2. master主机的配置(192.168.153.136)2.1 修改keepalived配置文件vim /etc/keepalived/keepalived.conf修改内容如下:2.2 修改完成之后保存退出开启keepalived服务systemctl start keepalived3. backup主机的配置(192.168.153.137)3.1 修改keepalived配置文件vim /etc/keepalived/keepalived.conf原创 2021-01-14 20:46:20 · 842 阅读 · 0 评论 -
监控LVS真实服务器的脚本
1. 脚本内容编写如下#!/bin/bashVIP=192.168.153.188rs=(192.168.153.136 192.168.153.137)while :dofor i in ${rs[*]}do exist_num=$(ipvsadm -Ln | grep -c $i) status_code=$(curl -sI -o /dev/null -w %{http_code} http://$i/index.html) if [ $status_code -原创 2021-01-14 18:54:43 · 114 阅读 · 0 评论 -
一键部署lamp脚本
1. 脚本内容编写如下#!/bin/baship=$(ifconfig | sed -n 2p | awk '{print $2}')#判断服务器能否访问外网check_net() { ping -c 2 www.baidu.com > /dev/null 2>&1 if [ $? -eq 0 ];then echo "网络畅通" else echo "网络不通!!!" fi}install() { ec原创 2021-01-12 16:48:21 · 577 阅读 · 1 评论 -
监控服务器网卡上传和下载网速的脚本
1. 脚本内容编写如下#!/bin/bash#死循环while :do #获取ens32网卡当前流入和流出的流量 rx_net1=$(ifconfig ens32 | awk '/RX packets/{print $5}') tx_net1=$(ifconfig ens32 | awk '/TX packets/{print $5}') sleep 1 #获取ens32网卡1s后流入和流出的流量 rx_net2=$(ifconfig ens32 |原创 2021-01-12 14:16:32 · 464 阅读 · 2 评论 -
猜数字小脚本
1. 猜数字游获取一个指定范围的随机数,存在变量中提示用户猜数字,猜对对出,猜错继续,直到猜对并设置猜的次数,次数用完之后退出2. 脚本内容编写如下#!/bin/bashnum=$[$RANDOM%10+1]time=5while :do echo "你还有$time次猜的机会" if [ $time -eq 0 ];then echo "猜的机会用完了,正在退出...." break原创 2021-01-12 10:32:05 · 243 阅读 · 0 评论 -
一键部署lnmp脚本
#!/bin/bashnginx_install() { if [ -f /root/nginx-1.18.0.tar.gz ];then echo "nginx源码包存在,开始解压..." cd /root && tar xzf nginx-1.18.0.tar.gz echo "开始安装nginx编译所需环境" yum -y install gcc pcre-devel openssl-devel > /dev/null echo原创 2021-01-12 09:15:32 · 399 阅读 · 0 评论 -
检测端口是否被监听脚本
1. 脚本内容编写如下#!/bin/bashread -p "请输入要查询的端口" port#判断输入是否为数字echo $port |grep -q '[0-9]'if [ $? -ne 0 ];then echo "输入的不是数字!!!" exitfi#判断输入是否有效if [ -z $port ];then echo "请输入一个有效的端口(1-65535)" exitelif [ $port -lt 1 -o $port -gt 65535 ];th原创 2021-01-11 21:23:11 · 879 阅读 · 1 评论 -
expect结合shell批量免密配置脚本
1. 先在本机安装expect命令 yum -y install expect2. 编写脚本内容如下:3. 给脚本增加执行权限4. 在当前目录下执行脚本原创 2021-01-11 19:01:37 · 276 阅读 · 1 评论 -
Linux系统加固设置
1. 将root管理员名称修改为jack添加用户jack:useradd -u 0 -g 0 -o jack给jack设置密码:[root@host-134 ~]# passwd jackChanging password for user jack.New password: BAD PASSWORD: The password is shorter than 8 charactersRetype new password: passwd: all authentication to原创 2021-01-08 15:22:00 · 566 阅读 · 0 评论 -
mysql备份脚本
1. 脚本内容#!/bin/bash#定义数组db=$(mysql -e "show databases;" | sed 1d)data_time=$(date +%F)#创建数据库备份目录if [ ! -d /home/mysql/data_backup/$data_time ];then mkdir -p /home/mysql/data_backup/$data_timefi#定义数据库备份函数db_backup() { mysqldump --skip-lock-t原创 2021-01-09 21:04:23 · 141 阅读 · 0 评论 -
shell 数组
1. Shell 数组Shell 数组用括号来表示,元素用"空格"符号分割开,数组元素的下标由0开始。2. 定义一个数组2.1 语法格式如下:array_name=(value1 value2 ... valuen)2.2 方法1:my_array=(A B C D)2.3 方法2:使用下标来定义数组:my_array[0]=Amy_array[1]=Bmy_array[2]=C3. 读取数组:3.1 读取数组元素值的一般格式是:${array_name[index]}原创 2021-01-09 20:09:06 · 228 阅读 · 0 评论 -
find命令详解
1. find命令作用find命令用来在指定目录下查找文件。2. find命令选项基本格式find 目录 -选项 动作[-print -exec -ok ...]3. 常用选项:-a:and 必须满足两个条件才显示-o:or 只要满足一个条件就显示-name:按照文件名查找文件-iname:按照文件名查找文件(忽略大小写)-type:根据文件类型进行搜索-perm:按照文件权限来查找文件-user 按照文件属主来查找文件。-group 按照文件所属的组来查找文件。-fp原创 2021-01-09 12:59:32 · 41366 阅读 · 2 评论 -
监控mysql主从状态脚本
1. mysql主从架构搭建参考链接>> https://blog.csdn.net/m0_46674735/article/details/1095976362. 基础脚本内容如下#!/bin/bashIO=$(mysql -e "show slave status\G;" |awk '/Slave_IO_Running/{print $2}')SQL=$(mysql -e "show slave status\G;" |awk '/Slave_SQL_Running/{print原创 2021-01-09 11:49:14 · 367 阅读 · 5 评论 -
检查文件是否被篡改的脚本
1. 脚本内容如下#!/bin/bash#获取校验库,只需要在首次执行的时候获取!#file=$(find /var/www/html/ -type f)#echo > md5.txt#for i in $file#do# md5sum $i >> md5.txt#done#通过检查校验库文件的MD5值,有更改时发送邮件通知md5sum -c md5.txtif [ $? -ne 0 ];then echo "有更改" message=$(md原创 2021-01-09 09:29:34 · 441 阅读 · 0 评论 -
检测网站地址是否存活脚本
脚本内容如下:!/bin/bashurl="http://193.168.153.134/wordpress/"http_code=$(curl -sI -o /dev/null -w %{http_code} $url)check_code() { if [ $http_code -eq 200 ];then echo "网站存活" else echo "站点访问异常" fi}check_code测试[root@host-134 ~原创 2021-01-08 20:59:37 · 339 阅读 · 0 评论 -
expect自动交互工具
1. expect应用场景要用ssh或者 telnet登录服务器的时候,命令行下提示需要输入用户和密码等。Expect就是为处理这类情况而设计的工具,简单来说它可以控制、处理输入,输出流,然后提供自动填写数据等需要用户交互式输入的数据的地方实现自动化处理。2. expect工作流程expect的工作流程可以理解为:spawn启动进程---->expect期待关键字---->send向进进程发送字符—>退出结束。3. expect语法3.1 spawnspawn命令是ex原创 2021-01-07 21:39:07 · 1001 阅读 · 0 评论 -
sed 命令详细解析及应用
1.sed(流编辑器)sed是一种流编辑器,它是文本处理中常用的工具。1.1 命令格式:sed [选项] ‘地址定界 动作’ file_name 1.2 常用选项:-e:承接多个筛选条件-n,--quiet,--silent: 只显示匹配处理的行(sed默认输出所有文本内容)-i: 直接原文内容-p:打印1.2.1 常用选项练习理解-n和-p选项的用法:创建a.txt文件,文件内容如下:[root@centos6 ~]# cat a.txtasdf;1324;原创 2021-01-06 21:41:56 · 1042 阅读 · 0 评论 -
企业级日常巡检脚本的编写
1. 系统信息1.1 操作系统类型查看操作系统类型命令为 uname例:[root@host-134 ~]# unameLinux定义变量os_type=$(uname)1.2 操作系统版本号查看操作系统版本号命令为 cat /etc/redhat-release例:[root@host-134 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)定义变量os_ver=$(cat /etc/redh原创 2021-01-06 19:04:40 · 227 阅读 · 0 评论 -
zabbix 监控 mysql数据库状态脚本实现
1. 实验环境1.1 服务器均为centos7操作系统1.2 服务器ip地址zabbix-server ip:192.168.153.183zabbix-agent ip: 192.168.153.1851.3 均关闭防火墙和selinux关闭防火墙systemctl stop firewalld关闭selinuxsetenforce 02. agent端配置2.1 在agent端创建存放脚本的目录[root@localhost ~]# cd /etc/zabbix/[root原创 2021-01-05 19:31:16 · 567 阅读 · 0 评论 -
zabbix 配置自定义监控项监控CPU和内存的使用率
1. 创建存放脚本的目录[root@localhost ~]# cd /etc/zabbix/[root@localhost zabbix]# mkdir scripts[root@localhost scripts]# pwd/etc/zabbix/scripts2. 编写监控内存的脚本并增加执行权限[root@localhost scripts]# cat mem_use.sh #!/bin/bashfree -m|grep Mem|awk '{printf "%.2f%\n",$3/原创 2021-01-04 19:56:06 · 1319 阅读 · 0 评论 -
zabbix监控nginx的pv和uv数据
1. 实验环境1.1 服务器均为centos7操作系统1.2 服务器ip地址zabbix-server ip:192.168.153.183zabbix-agent ip: 192.168.153.1851.3 均关闭防火墙和selinux关闭防火墙systemctl stop firewalld关闭selinuxsetenforce 02. zabbix-server端配置2.1 安装并启动zabbix安装链接:https://blog.csdn.net/m0_4667473原创 2021-01-05 17:17:35 · 914 阅读 · 0 评论 -
shell脚本分析apache的访问日志
1. shell脚本分析apache的访问日志1.1 获取访问日志中每个ip的访问次数[root@localhost ~]# cat /var/log/httpd/access_log |awk '{print $1}'|sort|uniq -c 2 ::1 10 192.168.153.1 110 192.168.153.130 4 192.168.153.149 119 192.168.153.177 3 192.168.153.183原创 2021-01-04 21:47:14 · 385 阅读 · 0 评论