第十一周作业

1、显示统计占用系统内存最多的进程,并排序。

[root@centos8 ~]# top
参数 M 按内存大小排列


1.jpg

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

for写法:
[root@centos8 ~]# vim for_ping.sh

#!/bin/bash
  
IP=10.0.0.


for i in {1..254};do
        {
        ping -c1 -W1 $IP$i &> /dev/null && echo "$IP$i is success!" || echo "fail!"
        }&
done
wait

while写法
[root@centos8 ~]# vim while_ping.sh
#!/bin/bash
  
IP=10.0.0.
NUM=1

while [ $NUM -lt 255 ];do
        ping -c1 -W1 $IP$NUM &> /dev/null && echo "$IP$NUM is success!" || echo "fail!"
        let NUM+=1
done

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

[root@centos8 ~]# vim /data/backup.sh
#!/bin/bash
tar -JPcf  /backup/etcbak-`date -s '-1 day' +%F-%H.tar.xz` /etc
[root@centos8 backup]# crontab -e
30 1 * * 0-4  /bin/bash /data/backup.sh &> /dev/null
[root@centos8 backup]# crontab -l
30 1 * * 0-4 /bin/bash data/backup.sh &> /dev/null

4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警

[root@centos8 backup]# vim checkdisk.sh

#!/bin/bash
WARING=80
[email protected]

df -h |awk -F " +|%" '/^\/dev\/sda/{print $5}' | while read i ;do  [ $i -gt $WARING ] && mail -s "DISK WARING" $MAIL ;done

[root@centos8 backup]# crontab -l
30 1 * * 0-4 /bin/bash /data/backup.sh &> /dev/null
*/10 * * * * /bin/bash /data/checkdisk.sh &> /dev/null

你可能感兴趣的:(第十一周作业)