第六周

Posted N64_一只慵懒的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六周相关的知识,希望对你有一定的参考价值。

1、编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。

expect实现登陆远程主机

[11:42:11 root@centos8 ~][#yum -y install expect
[12:15:50 root@centos8 ~][#cat expect
#!/usr/bin/expect
spawn ssh x.x.x.x
expect 
    "yes/no"  send "yes\\n";exp_continue 
    "password"  send "xxxx\\n" 

interact
[12:16:58 root@centos8 ~][#chmod +x expect
[12:16:58 root@centos8 ~][#./expect

shell脚本

[12:44:59 root@centos8 ~][#cat ssh.sh
#!/bin/bash
#
#********************************************************************
#Author:                一只慵懒的猫
#QQ:                    1076610344
#Date:                  2022-04-17
#FileName:             ssh.sh
#URL:                   http://www.magedu.com
#Description:          A test script
#Copyright (C):        2022 All rights reserved
#********************************************************************
expect <<EOF
spawn ssh 10.0.0.7
expect 
    "yes/no"  send "yes\\n";exp_continue 
    "password"  send "admin@000\\n" 

expect eof
EOF

2、生成10个随机数保存于数组中,并找出其最大值和最小值

[13:29:15 root@centos8 data][#cat declare.sh
#!/bin/bash
#
#********************************************************************
#Author:                一只慵懒的猫
#QQ:                    1076610344
#Date:                  2022-04-17
#FileName:             declare.sh
#URL:                   http://www.magedu.com
#Description:          A test script
#Copyright (C):        2022 All rights reserved
#********************************************************************
declare -i min max
declare -a nums
for ((i=0;i<10;i++));do
    nums[$i]=$RANDOM
    [ $i -eq 0 ] && min=$nums[0] && max=$nums[0] && continue
    [ $nums[$i] -gt $max ] && max=$nums[$i] && continue
    [ $nums[$i] -lt $min ] && min=$nums[$i]
done
echo "All numbers are $nums[*]"
echo Max is $max
echo Min is $min

3、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序

[14:47:51 root@centos8 data][#cat array.sh
#!/bin/bash
#
#********************************************************************
#Author:                一只慵懒的猫
#QQ:                    1076610344
#Date:                  2022-04-17
#FileName:             array.sh
#URL:                   http://www.magedu.com
#Description:          A test script
#Copyright (C):        2022 All rights reserved
#********************************************************************
read -p "请输入数值个数:" COUNT
declare -a nums
for ((i=0;i<$COUNT;i++));do
    num[$i]=$RANDOM
done
echo "The initial array:"
echo $num[@]

declare -i n=$COUNT
for (( i=0; i<n-1; i++));do
    for ((j=0;j<n-1-i;j++));do
        let x=$j+1
        if (($num[$j]<$num[$x]));then
            tmp=$num[$x]
            num[$x]=$num[$j]
            num[$j]=$tmp
        fi
    done
done
echo "After sort:"
echo $num[*]
echo "the max integer is $num,the min integer is $num[$((n-1))]"
[14:47:59 root@centos8 data][#./array.sh
请输入数值个数:6
The initial array:
32098 15561 14942 31330 27316 2629
After sort:
32098 31330 27316 15561 14942 2629
the max integer is 32098,the min integer is 2629

4、总结查看系统负载的几种命令,总结top命令的指标大概什么含义(不要求全部写出来)

uptime和w    #显示系统启动时长,当前时间,当前上线人数,系统平均负载
df -h   #查看硬盘信息
free -h #查看内存信息
mpstat  #显示cpu占用率
top命令:
可以动态查看系统进程信息,以及当前正在运行的任务列表
查看cpu百分比,内存百分比,cpu占用时长

5、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"

[15:18:36 root@centos8 data][#cat ping_for.sh
#!/bin/bash
#
#********************************************************************
#Author:                一只慵懒的猫
#QQ:                    1076610344
#Date:                  2022-04-17
#FileName:             ping_for.sh
#URL:                   http://www.magedu.com
#Description:          A test script
#Copyright (C):        2022 All rights reserved
#********************************************************************
net=192.168.0
for i in 1..254;do
    
        if ping -c1 -w1 $net.$i &> /dev/null;then
            echo $net.$i is success!
        else
            echo $net.$i is fail!
        fi
    &
done
wait
[15:23:39 root@centos8 data][#cat ping_while.sh
#!/bin/bash
#
#********************************************************************
#Author:                一只慵懒的猫
#QQ:                    1076610344
#Date:                  2022-04-17
#FileName:             ping_while.sh
#URL:                   http://www.magedu.com
#Description:          A test script
#Copyright (C):        2022 All rights reserved
#********************************************************************
net=192.168.0
declare -i address=1
while [ $address -le 254 ];do
    
        ping -c1 -w1 $net.$address &> /dev/null
        if [ $? -eq 0  ];then
            echo $net.$address is success!
        else
            echo $net.$address is fail!
        fi
    &
let address++
done
wait

6、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间

[15:56:22 root@centos8 data][#cat backup.sh
#!/bin/bash
#
#********************************************************************
#Author:                一只慵懒的猫
#QQ:                    1076610344
#Date:                  2022-04-17
#FileName:             backup.sh
#URL:                   http://www.magedu.com
#Description:          A test script
#Copyright (C):        2022 All rights reserved
#********************************************************************
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[ -d /backup ] || mkdir /backup
tar -Jcvf /backup/etcbak-`date -d -1 day +%F-%H`.tar.xz /etc
[15:56:20 root@centos8 data][#crontab -l
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
30 1 * * 1-5 /bin/bash /data/backup.sh

以上是关于第六周的主要内容,如果未能解决你的问题,请参考以下文章

运维小白成长记——第六周

第六周--冒泡排序

每周进度条(第六周)

学习进度条(第六周)

第六周总结表

20165331 第六周学习总结