阶段测试8

Q1 显示统计占用系统内存最多的进程,并排序。
[root@CentOS7 scripts]# ps -eo uid,pid,ppid,tty,c,time,cmd,%mem --sort=-%mem
  UID    PID   PPID TT        C     TIME CMD                         %MEM
   42   1313   1195 ?         0 00:00:15 /usr/bin/gnome-shell         5.6
   42   1397   1195 ?         0 00:00:00 /usr/libexec/gnome-settings  0.9
    0    982      1 ?         0 00:00:05 /usr/bin/python -Es /usr/sb  0.9
    0   1025    991 tty1      0 00:00:00 /usr/bin/X :0 -background n  0.8
  999    693      1 ?         0 00:00:01 /usr/lib/polkit-1/polkitd -  0.7
    0    988      1 ?         0 00:00:00 /usr/sbin/libvirtd           0.7
   42   1373      1 ?         0 00:00:00 /usr/libexec/ibus-x11 --kil  0.5
    0    723      1 ?         0 00:00:00 /usr/sbin/NetworkManager --  0.4
   42   1195   1158 ?         0 00:00:00 /usr/libexec/gnome-session-  0.3
    0    698      1 ?         0 00:00:01 /usr/sbin/rsyslogd -n        0.3
    0   1158    991 ?         0 00:00:00 gdm-session-worker [pam/gdm  0.3
  997   1410      1 ?         0 00:00:00 /usr/libexec/colord          0.3
    0    694      1 ?         0 00:00:29 /usr/bin/vmtoolsd            0.3
    0    685      1 ?         0 00:00:00 /usr/bin/VGAuthService -s    0.2
    0    728      1 ?         0 00:00:00 /usr/sbin/abrtd -d -s        0.2
    0    690      1 ?         0 00:00:00 /usr/sbin/ModemManager       0.2
    0   8203    979 ?         0 00:00:00 sshd: root@pts/0             0.2
    0   1390      1 ?         0 00:00:00 /usr/libexec/packagekitd     0.2
   42   1366   1313 ?         0 00:00:00 ibus-daemon --xim --panel d  0.2
    0   1330      1 ?         0 00:00:00 /usr/libexec/upowerd         0.2
   42   1381      1 ?         0 00:00:00 /usr/libexec/xdg-permission  0.2

这里补充一点,也可以通过top命令 进入资源列表中,按大写的M按键,也可以按资源占用情况查看进程情况,且为实时跳动

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

For语句:

#!/bin/bash
NET=192.168.93
for HOST in {1..254}; do
   {
    ping -c1 $NET.$HOST &> /dev/null ;
    if [ $? -eq 0 ];then
         echo $NET.$HOST is success | tee -a host_Success.txt
    else
         echo $NET.$HOST is fail! | tee -a host_Fail.txt
    fi
    }&
done
wait
[root@CentOS7 scripts]# bash scanip.sh 
192.168.93.2 is success
192.168.93.17 is success
192.168.93.5 is success
192.168.93.6 is success
192.168.93.22 is success
192.168.93.12 is success
192.168.93.21 is success
192.168.93.25 is success
192.168.93.24 is success
192.168.93.20 is success
192.168.93.19 is success
192.168.93.4 is success
192.168.93.164 is success
192.168.93.33 is success
192.168.93.1 is success
192.168.93.165 is success
192.168.93.27 is success
192.168.93.114 is success
192.168.93.14 is fail!
192.168.93.29 is fail!
192.168.93.9 is fail!

这里由于0.0段目前没有,测试以我内网网段做为测试目标

while 语句:

NET=192.168.93
declare -i HOST=1
while [ $HOST -lt 255 ];do
   {
     ping -c1 -W1 $NET.$HOST &> /dev/null ;
     if [ $? -eq 0 ];then
        echo $NET.$HOST is success | tee -a host_Success.txt
     else
        echo $NET.$HOST is fail! | tee -a host_Fail.txt
     fi
    }&
let HOST++
done
wait
[root@CentOS7 scripts]# bash while_scanip.sh 
192.168.93.2 is success
192.168.93.5 is success
192.168.93.6 is success
192.168.93.12 is success
192.168.93.4 is success
192.168.93.17 is success
192.168.93.20 is success
192.168.93.21 is success
192.168.93.22 is success
192.168.93.19 is success
192.168.93.25 is success
192.168.93.24 is success
192.168.93.33 is success
192.168.93.164 is success
192.168.93.114 is success
192.168.93.189 is success
192.168.93.27 is success
192.168.93.1 is fail!
192.168.93.3 is fail!
192.168.93.7 is fail!
192.168.93.8 is fail!
192.168.93.9 is fail!
192.168.93.14 is fail!
Q3 每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
[root@centos7 ~]# crontab -e
30 1 * * 1-5 /usr/bin/tar -Jcf /data/etcbak-`date -d "-1 day" +%Y-%m-%d-%H`.tar.xz /etc &> /dev/null
[root@CentOS7 data]# ll
total 7428
-rwxr-xr-x    1 root root     419 Oct 31 10:47 checkdisk.sh
-rwxr-xr-x    1 root root     426 Nov  4 09:42 chook_rabbit.sh
-rwxr-xr-x    1 root root     559 Nov  6 09:15 createuser.sh
-rw-r--r--    1 root root 7472828 Feb 13 18:51 etcbak-2020-02-12-18.tar.xz

当然 此命令也是可以通过创建脚本的方式 并且赋予脚本执行权限后,将其调用到计划任务中也是可以,这样做的方式可以避免命令长度太长导致频繁的修改错误,这里为了方便直接,就将其命令调用在计划任务中执行也是可以的。

Q4 工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
[root@CentOS7 data]# cat checkdisk_sendMail.sh 
#!/bin/bash
Danager=80
Used=`df |sed -nr '/^\/dev\/sd/s#.* ([0-9]+)%.*#\1#p' | sort   -nr |head -1`
[ "$Used" -gt "$Danager" ] && wall disk will be full 
[root@CentOS7 data]# bash checkdisk_sendMail.sh 

Broadcast message from root@CentOS7 (pts/0) (Thu Feb 13 19:22:22 2020):

验证脚本的可用性后,chmod +x 赋予该脚本执行权限,并且添加到计划任务中

[root@centos7 data]#crontab -e
/10 * /data/checkdis_sendMail.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值