linux系统运维基础11

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

方法一:使用top命令可查看统计数据,使用M(shift + m)可以按%MEM排序。使用top -o %MEM 可以按内存利用率降序排列

[root@CentOS-8 ~]# top

top - 09:45:58 up 3 min,  1 user,  load average: 0.26, 0.44, 0.20

Tasks: 331 total,  1 running, 330 sleeping,  0 stopped,  0 zombie

%Cpu(s):  0.2 us,  0.8 sy,  0.0 ni, 98.8 id,  0.0 wa,  0.2 hi,  0.1 si,  0.0 st

MiB Mem :  1949.4 total,    740.1 free,    737.7 used,    471.7 buff/cache

MiB Swap:  2048.0 total,  2048.0 free,      0.0 used.  1040.1 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM    TIME+ COMMAND

  1837 root      20  0  173148  6304  4828 S  0.7  0.3  0:00.45 sshd

  1845 root      20  0  12832  3144  2792 S  0.7  0.2  0:00.48 bash

  2507 root      20  0  65640  5236  4188 R  0.7  0.3  0:00.07 top

    276 root      20  0      0      0      0 I  0.3  0.0  0:00.08 kworker/2:3-eve+

    556 root      20  0      0      0      0 S  0.3  0.0  0:00.06 xfsaild/sda2

    848 root      20  0  295616  13100  9512 S  0.3  0.7  0:00.44 vmtoolsd

      1 root      20  0  245624  14344  9316 S  0.0  0.7  0:04.21 systemd

      2 root      20  0      0      0      0 S  0.0  0.0  0:00.01 kthreadd

      3 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 rcu_gp

      4 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 rcu_par_gp

[root@CentOS-8 ~]# top

top - 09:46:15 up 3 min,  1 user,  load average: 0.20, 0.42, 0.19

Tasks: 331 total,  1 running, 330 sleeping,  0 stopped,  0 zombie

%Cpu(s):  0.2 us,  1.2 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.2 hi,  0.1 si,  0.0 st

MiB Mem :  1949.4 total,    739.9 free,    737.9 used,    471.7 buff/cache

MiB Swap:  2048.0 total,  2048.0 free,      0.0 used.  1039.9 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM    TIME+ COMMAND

  1557 gdm      20  0 2926924 157248  89668 S  0.0  7.9  0:04.71 gnome-shell

  1599 gdm      20  0  538900  62852  46824 S  0.0  3.1  0:00.30 ibus-x11

  1567 gdm      20  0  875528  62756  42236 S  0.0  3.1  0:00.58 Xwayland

    947 root      20  0  224980  40920  39244 S  0.0  2.0  0:00.25 sssd_nss

    974 root      20  0  299380  40852  18096 S  0.0  2.0  0:01.02 firewalld

  1082 root      20  0  426324  31456  16528 S  0.0  1.6  0:00.53 tuned

    851 polkitd  20  0 1772852  29232  19216 S  0.0  1.5  0:01.02 polkitd

  1663 gdm      20  0 1120860  27308  21632 S  0.0  1.4  0:00.16 gsd-media-keys

  1640 root      20  0  471412  27108  22436 S  0.0  1.4  0:00.15 packagekitd

  1709 gdm      20  0  510052  26516  19176 S  0.0  1.3  0:00.18 gsd-wacom

  1675 gdm      20  0  548136  25996  20652 S  0.0  1.3  0:00.14 gsd-power

  1642 gdm      20  0  524180  25792  20228 S  0.0  1.3  0:00.15 gsd-xsettings

  1650 gdm      20  0  686976  25748  20220 S  0.0  1.3  0:00.17 gsd-color

top命令内置子命令:

排序:

P  按%CPU

M  按MEM

T    按cpu占用TIME+

首部显示命令:

l 显示uptime

数字1  显示cpu个数

m 显示内存信息

k  终止进程

q  退出

方法二:

[root@CentOS-8 ~]# ps -axo %mem,pid,comm | sort -nr

7.8    1557 gnome-shell

3.1    1599 ibus-x11

3.1    1567 Xwayland

2.0    974 firewalld

2.0    947 sssd_nss

1.5    1082 tuned

1.4    851 polkitd

1.3    1709 gsd-wacom

1.3    1675 gsd-power

1.3    1663 gsd-media-keys

1.3    1640 packagekitd

1.2    1656 gsd-keyboard


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

[root@CentOS-8 data]# cat for_ping.sh

#!/bin/bash

ip=192.168.44

for ipid in {1..10};do

  {

  ping -c1  $ip.$ipid > /dev/null 2>&1

  if [ $? -eq 0 ];then

        echo $ip.$ipid is success! | tee -a >> /data/for_ping.txt

    else

        echo $ip.$ipid is fial! | tee -a >> /data/for_ping.txt

    fi

  } &

done

wait


[root@CentOS-8 data]# cat while_ping.sh

#!/bin/bash

ip=192.168.44

declare -i ipid=1

while [ $ipid -lt 254  ];do

ping -c1 $ip.$ipid &>/dev/null 2>&1;

if [ $? -eq 0 ];then

echo $ip.$ipid is success! | tee -a >> /data/while_ping.txt

else

echo $ip.$ipid is fial! | tee -a >> /data/while_ping.txt

fi

let ipid++

done


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

测试备份命令:

[root@CentOS-8 data]# tar cpvfJ /data/etcbak-`date +%Y-%m-%d-%H -d '-1 days'`.tar.xz  /etc

写入定时脚本

crontab -l

30 1 * * 1-5 /bin/bash tar -Jcvf /data/bak/etcbak-`date -d '-1 day' +%Y-%m-%d-%H`.tar.gz /etc/ &>/dev/null

查看结果

[root@CentOS-8 ~]# ll /data/

total 3768

-rw-r--r--. 1 root root  3835616 May 31 10:13 etcbak-2021-05-30-10.tar.xz


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

脚本:

[root@CentOS-8 data]# cat diskcheck.sh

#!/bin/bash

stem=`df -h |grep '/dev/sd*'|awk '{print $5}'|awk -F '%' '{print $1}'|sort -nr|head -1`

warn=80

if [ $stem -gt $warn ];then

        echo 磁盘空间利用率以超过80% |mail -s "warn the disk will be full" `whoami`@`hostname`

fi

写入定时任务:

crontab -l

/10 * * * * /bin/bash /data/disk.sh

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容