for循环 命令行里面的for循环 脚本里的for循环 使用sshpass一次查看多个服务器(10.0.0.5 10.0.0.6)信息(df -h) 脚本2

[root@oldboy opt]# for n in `seq  30`;do date -s "2020-03-$n";touch file$n;done
`seq 30` 必须是反引号,多条命令用;分割,"2020-03-$n" 不能用单引号强引 ,done结尾

脚本里的for循环

[root@oldboy ~]# vim /etc/profile.d/mtime.sh  
#!/bin/bash
for n in `seq 30`;do
    date -s  "2020-04-$n"            
    touch /opt/$(date +%F)_file.txt  >>/dev/null
done

#修改系统时间,这样文件的mtime就不一样了,反引号不能使用别的符号代替,写入全局环境变量的脚本,每次开机或者bash都会加载,循环结束,时间修改为 2020-04-30 00:00:00,使用netpdate time1.aliyun.com可以同步阿里云服务器时间

[root@oldboy tmp]# for n1 in `seq 4`;do echo $n1;done  不能用单引号
1 
2
3
[root@oldboy tmp]# seq 4  
1
2
3
4
[root@oldboy tmp]# for n1 in 'seq 4';do echo $n1;done
cat 1
[root@oldboy tmp]# for n1 in "seq 4";do echo $n1;done
cat 1

使用sshpass一次查看多个服务器(10.0.0.5 10.0.0.6)信息(df -h)

[root@lb01 ~]# vim ssh.sh
#/bin/bash
for num in 5 6;do
    echo --------------------10.0.0.$num--------------------
    sshpass -p 1 ssh -o StrictHostKeyChecking=no root@10.0.0.$num df-h
done

[root@lb01 ~]# sh ssh.sh 
--------------------10.0.0.5--------------------
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        476M     0  476M   0% /dev
tmpfs           487M     0  487M   0% /dev/shm
tmpfs           487M  7.8M  479M   2% /run
tmpfs           487M     0  487M   0% /sys/fs/cgroup
/dev/sda3        19G  1.9G   17G  10% /
/dev/sda1       497M  124M  374M  25% /boot
tmpfs            98M     0   98M   0% /run/user/0
--------------------10.0.0.6--------------------
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        476M     0  476M   0% /dev
tmpfs           487M     0  487M   0% /dev/shm
tmpfs           487M  7.7M  479M   2% /run
tmpfs           487M     0  487M   0% /sys/fs/cgroup
/dev/sda3        19G  1.5G   18G   9% /
/dev/sda1       497M  124M  374M  25% /boot
tmpfs            98M     0   98M   0% /run/user/0

通过跳板机获取所有机器的load,CPU,Memory等信息(思考:如果服务器数量多,如何并发查看和分发数据)

[root@web01 ~]# vim df.sh
#!/bin/bash
N_ip=172.16.1.

for n in 8 31 41 61;do
        echo --------------172.16.1.${N_ip}${n}磁盘信息--------------
        ssh root@${N_ip}${n} df -h

done
~    

脚本1,(跳板机)

#!/bin/bash
#jumpserver

lb01=172.16.1.5
lb02=172.16.1.6
web01=172.16.1.7
web02=172.16.1.8
web03=172.16.1.9
nfs=172.16.1.31
backup=172.16.1.41
db01=172.16.1.51
db02=172.16.1.52
db03=172.16.1.53
db04=172.16.1.54
m01=172.16.1.61
zabbix=172.16.1.71


cat <<EOF
        +-------------------------+
        |     1)  lb01             |
        |     2)  lb02             |
        |     3)  web01            |
        |     4)  web02            |
        |     5)  web03            |
        |     6)  nfs              |
        |     7)  backup           |
        |     8)  db01             |
        |     9)  db02             |
        |     10) lb03             |
        |     11) db04             |
        |     12) m01              |
        |     13) zabbix           |
        |     h)  help             |
        +-------------------------+
EOF
read -p 'Please Input Number: ' num

if [ $num -eq 1 ];then
  ssh root@$lb01
elif [ $num -eq 2 ];then
  ssh root@$lb02
elif [ $num -eq 3 ];then
  ssh root@$web01
elif [ $num -eq 4 ];then
  ssh root@$web02
elif [ $num -eq 5 ];then
  ssh root@$web03
elif [ $num -eq 6 ];then
  ssh root@$nfs
elif [ $num -eq 7 ];then
  ssh root@$backup
elif [ $num -eq 8 ];then
  ssh root@$db01
elif [ $num -eq 9 ];then
  ssh root@$db02
elif [ $num -eq 10 ];then
  ssh root@$db03
elif [ $num -eq 11 ];then
  ssh root@$db04
elif [ $num -eq 12 ];then
  ssh root@$m01
elif [ $num -eq 13 ];then
  ssh root@$zabbix
else
        echo 别连了,贴纸,输错了
fi
                                           

脚本2

#!/bin/bash
#jumpserver
lb01=10.0.0.5
lb02=10.0.0.6
web01=10.0.0.7
web02=10.0.0.8
web03=10.0.0.9
nfs=10.0.0.31
backup=10.0.0.41
db01=10.0.0.51
m01=10.0.0.61
zabbix=10.0.0.71

menu(){
        cat <<-EOF
        +-------------------------+
        |     1) lb01             |
        |     2) lb02             |
        |     3) web01            |
        |     4) web02            |
        |     5) web03            |
        |     6) nfs              |
        |     7) backup           |
        |     8) db01             |
        |     9) m01              |
        |     10) zabbix          |
        |     h) help             |
        +-------------------------+
EOF
}
#菜单函数
menu

#连接函数
connect(){
  ping -c 1 -w 1 $1 &>/dev/null
  if [ $? -eq 0 ];then
    ssh root@$1
  else
    echo -e "