第八周

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

ps -aux  --sort=-%mem

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

#使用for实现该功能
#!/bin/bash
#********************************************************************
for i in {0..254}        
do  
    {          
    if ping -c1 -w1  192.168.0.$i &>/dev/null;then        
    echo "192.168.0.$i success!"         
else      
    echo "192.168.0.$i fail!"     
fi            
    } &      
done        
    wait     
    echo "IP is Done"   

使用while实现该功能

#!/bin/bash
#********************************************************************
i=0
while [ $i -le 255 ]
do
    if ping -c1 -w1  192.168.0.$i &>/dev/null;then
    echo "192.168.0.$i success!"         
else
    echo "192.168.0.$i fail!"     
fi
    let i++
done
    wait
    echo "IP is Done"

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

crontab -e #编辑定时任务
30 01 * * 1-5 tar cJf /root/data/etcbak-`date -d "1 day ago" +"%Y-%m-%d-%H"`.tar.xz /etc  &>>/root/data/backup.log

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

vim checkdisk.sh 创建磁盘空间检查脚本

Disk size=`df | grep / | tr -s " " |cut -d " " -f 5 |tr -d % |sort -n |tail -n1` #定义剩余磁盘空间的变量
Warning=80 #定义报警值的变量
Mail=root@aliyun #定义邮箱的变量
test $Disk size -gt $Warning && echo Free disk space is less than 20 | mail -s Disk alert" $Mail

chmod +x checkdisk.sh #添加执行权限 
crontab -e #编辑定时任务
*/10 * * * * /root/bin/checkdisk.sh &>/dev/null #每10分钟执行一次该脚本

你可能感兴趣的:(第八周)