第六周
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
以上是关于第六周的主要内容,如果未能解决你的问题,请参考以下文章