第九周作业

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

ps axuk -%mem

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

2.1 for-脚本

#!/bin/bash
for ((i=1;i<=254;i++)) ;do

  {

  ping -w1 -c1  192.168.0.${i} &> /dev/null && wall 192.168.0.${i} is  success! || wall 192.168.0.${i} is  fail!

  }&                                                                                 

done

2.2 while-脚本

#!/bin/bash
i=1

while [ $i -lt 255  ]  ;do

  ping -w1 -c1  192.168.0.${i} &> /dev/null && wall 192.168.0.${i} is  success! || wall 192.168.0.${i} is  fail!

  i=$[$i+1]

done

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

3.1 创建脚本etcbackup.sh

#!/bin/bash
BackName=etcbak-`date -d -1day +%F-%H`

tar -Jcvf /backup/${BackName}.tar.xz /etc/  &> /dev/null

3.2 创建任务计划

crontab -l
30 13 * * 1-5 /usr/bin/bash data/sh/etcbackup.sh

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

4.1 创建脚本checkdisk.sh

#!/bin/bash
vim /script/checkdisk.sh
USE=df|sed -rn '/^\/dev\/sd/s@.* ([0-9]+)%.*$@\1@p'|sort -nr|head -1
[ "$USE" -gt 80] && echo "warn"|mail -s warn root
crontab -e
*/10 * * * * 1-5 root /script/checkdisk.sh

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