第八周作业(7.27-8.2)

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

[19:08:53 root@centos7 ~]#ps -eo pid,ppid,cmd,%mem --sort=-%mem | head
   PID   PPID CMD                         %MEM
  1337   1294 /usr/bin/gnome-shell         7.0
  1277   1016 /usr/bin/X :0 -background n  1.6
  1004      1 /usr/bin/python2 -Es /usr/s  1.0
  1011      1 /usr/sbin/libvirtd           0.9
  1445   1294 /usr/libexec/gsd-media-keys  0.8
  1486   1294 /usr/libexec/gsd-wacom       0.7
  1424   1294 /usr/libexec/gsd-xsettings   0.7
  1455   1294 /usr/libexec/gsd-power       0.7
  1433   1294 /usr/libexec/gsd-color       0.7

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

1)for循环脚本

for((i=1;i<=254;i++));do
    for((j=1;j<=254;j++));do
        ping -c 1 -w 1 192.168.$i.$j &>/dev/null && echo "ping 192.168.$i.$j is success!" || echo ping "192.168.$i.$j is fail!"                              
    done
done

执行结果

[19:41:51 root@centos7 scripts]#bash ping.sh 
ping 192.168.1.1 is success!
ping 192.168.1.2 is fail!
ping 192.168.1.3 is fail!
ping 192.168.1.4 is fail!
ping 192.168.1.5 is fail!
ping 192.168.1.6 is fail!
ping 192.168.1.7 is fail!
ping 192.168.1.8 is fail!
ping 192.168.1.9 is fail!
ping 192.168.1.10 is fail!
ping 192.168.1.11 is fail!
ping 192.168.1.12 is fail!
ping 192.168.1.13 is fail!
ping 192.168.1.14 is fail!
ping 192.168.1.15 is fail!
......

2)while循环脚本

i=1
j=1
while ((i<=254));do
    while ((j<=254));do
        ping -c 1 -w 1 192.168.$i.$j &>/dev/null && echo "ping 192.168.$i.$j is success!" || echo ping "192.168.$i.$j is fail!"
        let j++
    done
    let i++                                                                                                                                                  
done

执行结果

[20:07:26 root@centos7 scripts]#bash while_ping.sh
ping 192.168.1.1 is success!
ping 192.168.1.2 is fail!
ping 192.168.1.3 is fail!
ping 192.168.1.4 is fail!
ping 192.168.1.5 is fail!
ping 192.168.1.6 is fail!
ping 192.168.1.7 is fail!
ping 192.168.1.8 is fail!
ping 192.168.1.9 is fail!

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

[20:24:23 root@centos7 ~]#crontab -e
no crontab for root - using an empty one

30 1 * * 1-5 /usr/bin/tar -Jcf /backup/etcbak-`/usr/bin/date -d yesterday +%F-%H`.tar.xz /etc &>/dev/null

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

先编写磁盘容量检查脚本,脚本如下:

for DISK in `df | awk -F " +|%" '/\/dev\/sd/{print $5}'`;do
    if [[ $DISK -gt 80 ]];then
        mail -s "Disk capacity alarm" root@localhost < /data/disk_alarm.txt
    fi
done

将该脚本执行设置为定时任务

[21:30:21 root@centos7 data]#crontab -e
*/10 * * * 1-5 /usr/bin/bash /data/diskcheck.sh
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。