[工具] Shell 批量检测服务器网络的联通状态

介绍

基本信息

作者:朱明宇
名称:批量检测服务器网络的联通状态
作用:批量检测服务器网络的联通状态

使用方法

1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每个远程服务器名或 IP 地址占用 1 行
3. 在此脚本的分割线内写入相应的内容
4. 给此脚本添加执行权限
5. 执行此脚本

脚本分割线里的变量

list=”servers_all_list.txt” #指定服务器清单

脚本

#!/bin/bash

####################### Separator ########################

list="servers_all_list.txt"

####################### Separator ########################

read -p "will ping please input y " a
echo $a

if [ "$a" != "y" ];then
        echo "you don't agree so exit now"
        exit
fi

num=0

for i in `awk '{print $1}' servers_all_list.txt`
do
        let num++
        echo "$num $i"
        ping -c3 -i0.4 -w0.8 $i
        echo
done


补充:清单示例如下,可直接复制粘贴,如果不更改脚本,清单请命名为 servers_all_list.txt:

db1
db2
db3
web1
web2

[内容] Linux 命令行模式常用快捷键

内容一:移动光标

1) 同时按下 “ctrl” 键和 “a” 键,将光标移动到其所在命令行的开头
2) 同时按下 “ctrl” 键和 “e” 键,将光标移动到其所在命令行的结尾
3) 同时按下 “ctrl” 键和 “左方向” 键,将光标左移 1 个单词
4) 同时按下 “ctrl” 键和 “右方向” 键,将光标右移 1 个单词

内容二:删除内容

1) 同时按下 “ctrl” 键和 “u” 键,将光标以左的所有内容清空,并将光标移动到其所在行的最左端
2) 同时按下 “ctrl” 键和 “k” 键,将光标以右的所有内容清空,并将光标移动到其所在行的最右端
3) 同时按下 “ctrl” 键和 “w” 键,将光标前面的 1 个单词删除
4) 同时按下 “ctrl” 键和 “d” 键,将光标后面的 1 个字符删除
5) 同时按下 “alt” 键和 “d” 键,将光标后面的 1 个单词删除
6) 同时按下 “ctrl” 键和 “l” 键,将光标所在屏幕里的所有内容清除

内容三:放弃内容

同时按下 “ctrl” 键和 “c” 键,将光标所在命令行里的所有内容放弃,同时也会中断正在执行的命令

内容四:复制内容

同时按下 “esc” 键和 “.” 键,在当前光标所在位置复制上 1 条命令执行的参数

[内容] Linux 软件的查找

内容一:显示所有可安装软件的方法

1.1 CentOS & RHEL 显示所有可安装软件的方法

# yum list all

1.2 openSUSE & SUSE 显示所有可安装软件的方法

# zypper search

或者:

# zypper se

内容二:寻找某个可安装软件的方法

2.1 CentOS & RHEL 通过某个命令查找软件的方法

# yum -y provides <commands to use the software>

2.2 CentOS & RHEL 查找某个可安装软件的方法

# yum search <software>

或者:

# yum se <software>

2.3 openSUSE & SUSE 通过某个命令查找软件的方法

# command-not-found <commands to use the software>


补充:command-not-found 命令的安装方法如下:

# zypper install command-not-found

或者:

# zypper in command-not-found

2.4 openSUSE & SUSE 查找某个可安装软件的方法

# zypper search <software>

或者:

# zypper se <software>

[工具] Shell 检测性能指标 (例如:剩余硬盘空间、内存空间等)

介绍

基本信息

名称: 检测性能指标(例如:剩余硬盘空间、内存空间等)
作用: 检测性能指标(例如:剩余硬盘空间、内存空间等)

使用方法

1. 给此脚本添加执行权限
2. 执行此脚本

脚本

#!/bin/bash

ip=`ip a s | awk '/[1-2]?[0-9]{0,2}\.[1-2]?[0-9]{0,2}/&&!/127.0.0.1/{print $2}'`
host=`hostname`
disk=`df -h | awk '/\/$/{print $5}'`
mem=`free -m | awk '/Mem/{print $4}'`
cpu=`top -bn 1 | awk -F',' '/^%Cpu/{print $4 }' | awk '{print $1}'`
soft=`rpm -qa | wc -l`
port=`ss -ntulap | wc -l`

echo "$ip $host disk $disk"
echo "$ip $host mem $mem"
echo "$ip $host cpu $cpu"
echo "$ip $host soft $soft"
echo "$ip $host port $port"
echo

[步骤] Linux 开机自启 (通过 chkconfig 实现)

案例一:添加一个受 chkconfig 管理的服务(脚本)

1.1 编写一个脚本

# vim /etc/init.d/start.sh

创建以下内容:

#!/bin/bash
systemctl start httpd

# chkconfig: 345 85 15
# description: This is a script of starting httpd

(补充:chkconfig:后面的 3 个含义为 httpd 的级别为 3、4 和 5,启动序号为 85,关闭序号为 15)

1.2 给脚本添加执行权限

# chmod +x /etc/init.d/start.sh

1.3 将脚本添加到 chkconfig 中

# chkconfig --add start.sh

1.4 显示刚刚添加到 chkconfig 的应用

# chkconfig --list

案例二:通过 chkconfig 管理一个服务或脚本

2.1 设定 start.sh 在 3 和 5 等级为 on

# chkconfig --level 35 start.sh on

2.2 设定 start.sh 在各等级为 on,“各等级”包括 2、3、4、5 等级

# chkconfig start.sh on

2.3 设定 start.sh 在各等级为 off,“各等级”包括 2、3、4、5 等级

# chkconfig start.sh off