笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述N62-6相关的知识,希望能为你提供帮助。
1、编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。(1)expect形式:
#!/usr/bin/expect
spawn ssh 192.168.52.111
expect
"yes/no"send "yes\\n";
exp_continue
"password"send "123456\\n"
interact
[root@localhost ~]# chmod +x expect1.exp
[root@localhost ~]#
[root@localhost ~]# ./expect1.exp
spawn ssh 192.168.52.111
root@192.168.52.111s password:
Last login: Sat Apr
9 13:16:12 2022 from 192.168.52.139
[root@localhost ~]#
(2)shell形式
#!/bin/bash
ip=$1
user=$2
password=$3
expect <
<
EOF
set timeout 20
spawn ssh $user@$ip
expect
"yes/no"send "yes\\n";
exp_continue
"password"send "$password\\n"
expect eof
EOF
[root@localhost ~]# chmod +x expect1.sh
[root@localhost ~]# ./expect1.sh 192.168.52.111 root 123456
spawn ssh root@192.168.52.111
root@192.168.52.111s password:
Last login: Sat Apr
9 13:17:09 2022 from 192.168.52.139
[root@localhost ~]#
2、生成10个随机数保存于数组中,并找出其最大值和最小值#!/bin/bash
#********************************************************************#
#date:2022年 04月 10日 星期日 01:25:37 CST
#FileName:arr_10num_compare.sh
#URL: http://www.magedu.com
#Description: The test script
#Copyright (C): 2022 All rights reserved
#********************************************************************#
declare -a nums
for((i=0;
i<
10;
i++));
do
nums[$i]=$RANDOM
[ "$i" -eq 0 ] &
&
max=$nums[$i];
min=$nums[$i];
[ $nums[$i] -gt $max ] &
&
max=$nums[$i]
[ $nums[$i] -lt $max ] &
&
min=$nums[$i]
done
echo "The array: $nums[*]"
echo "max: $max"
echo "min: $min"
3、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序#!/bin/bash
#********************************************************************#
#date:2022年 04月 09日 星期六 23:36:14 CST
#FileName:paixu_maopao.sh
#URL: http://www.magedu.com
#Description: The test script
#Copyright (C): 2022 All rights reserved
#********************************************************************#
declare -a nums
i=0
while :;
do
read -p "请输入参与排序的数值:"
INPUT
num[$i]=$INPUT
let i+=1
if [ "$i" -gt 1 ];
then
read -p "1)继续输入;
2)开始比较"
INPUT
case $INPUT in
1)
continue
;
;
2)
break
;
;
esac
fi
done
echo "The initial array: $num[*]"
【N62-6】i=0
j=0
n=$#num[*]
for((i=0;
i<
n-1;
i++));
do
for((j=0;
j<
n-1-i;
j++));
do
if [ "$num[$j]" -gt "$num[$[$j+1]]" ];
then
temp=$num[$j]
num[$j]=$num[$[$j+1]]
num[$[$j+1]]=$temp
fi
done
done
echo "The array of After sort: $num[*]"
4、总结查看系统负载的几种命令,总结top命令的指标大概什么含义(不要求全部写出来)查看系统负载的命令:w,uptime,top,htop
当前时间,系统已启动的时间,当前上线人数,系统平均负载(1、 5、 15分钟的平均负载,一般不会超过1,超过5时建议警报)
任务情况:任务数,运行态,睡眠态,停止态,僵死态
CPU情况:us:用户空间,sy:内核空间(系统空间),ni:调整nice时间,id:空闲,wa:等待IO时间,hi:硬中断,si:软中断(模式切换),st:虚拟机偷走的时间
内存情况:总内存,空闲内存,已使用内存,缓存
swap空间:总空间,空闲swap空间,已使用swap空间,可使用内存
5、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"(1)for形式
#!/bin/bash
#********************************************************************#
#date:2022年 04月 10日 星期日 01:43:10 CST
#FileName:scanhost.sh
#URL: http://www.magedu.com
#Description: The test script
#Copyright (C): 2022 All rights reserved
#********************************************************************#
NET=192.168.52
for i in 1..254;
do
ping -c1 -W1 $NET.$i &
>
/dev/null &
&
echo $NET.$i :success;
||echo $NET.$i :failed;
&
done
wait
(2)while形式
#!/bin/bash
#********************************************************************#
#date:2022年 04月 10日 星期日 01:43:10 CST
#FileName:scanhost.sh
#URL: http://www.magedu.com
#Description: The test script
#Copyright (C): 2022 All rights reserved
#********************************************************************#
NET=192.168.52
i=1
while((i<
255));
do
ping -c1 -W1 $NET.$i &
>
/dev/null &
&
echo $NET.$i :success;
||echo $NET.$i :failed;
&
let i+=1
done
wait
6、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间#!/bin/bash
#********************************************************************#
#date:2022年 04月 09日 星期六 10:52:58 CST
#FileName:backup.sh
#URL: http://www.magedu.com
#Description: The test script
#Copyright (C): 2022 All rights reserved
#********************************************************************#
if [ -d "/backup" ];
then
tar -Jcf /backup/etcbak-`date +%F-%H -d "-1day"`.tar.xz /etc
else
echo "/backup目录不存在,创建目录" &
&
mkdir /backup
tar -Jcf /backup/etcbak-`date +%F-%H -d "-1day"`.tar.xz /etc
fi
配置/etc/crontab
SHELL=/bin/bash
#PATH=/sbin:/bin:/usr/sbin:/usr/bin
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |
.------------- hour (0 - 23)
# |
|
.---------- day of month (1 - 31)
# |
|
|
.------- month (1 - 12) OR jan,feb,mar,apr ...
# |
|
|
|
.---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |
|
|
|
|
# *
*
*
*
* user-name
command to be executed
30 1 * * 1-5 root sh /root/backup.sh
推荐阅读
- kubernetes-单master单node(适用于测试-开发)
- 用户组管理及用户提权
- 50-centos 安装jdk
- Jenkins Pipeline配置根据代码分支及自定义版本号构建打包
- #给定一个五位数,输出各个位置对应的数字,依次打印个十百千万位置
- 诺基亚猫棒G-010S-P刷机解决设备SN认证上网问题
- LINUX用户组管理及提权
- 百度信誉保障服务架构全解析
- 容器技术|Docker三剑客之docker-compose