▲就業(yè)班和全程班的小伙伴看這里:(學(xué)習(xí)老王視頻的作業(yè)第15-16節(jié))
1艺糜、顯示統(tǒng)計占用系統(tǒng)內(nèi)存最多的進程剧董,并排序幢尚。
1.1 輸入 top命令,然后按M按內(nèi)存使用情況排序
[root@centos7 ~]#top
top - 09:13:17 up 15:18,? 2 users,? load average: 0.00, 0.01, 0.05
Tasks: 136 total,? 1 running, 135 sleeping,? 0 stopped,? 0 zombie
%Cpu(s):? 0.0 us,? 0.0 sy,? 0.0 ni,100.0 id,? 0.0 wa,? 0.0 hi,? 0.0 si,? 0.0 st
KiB Mem :? 1863252 total,? 1217112 free,? 232664 used,? 413476 buff/cache
KiB Swap:? 4194300 total,? 4194300 free,? ? ? ? 0 used.? 1422244 avail Mem
? PID USER? ?PR? NI? VIRT? ?RES? ?SHR S %CPU %MEM? TIME+ COMMAND
? 6275 root? ? ? 20? 0? 358188? 29152? 7016 S? 0.0? ?1.6? 0:01.31 firewalld
? 6854 root? ? ? 20? 0? 573820? 17232? 6068 S? 0.0? ?0.9? 0:10.72 tuned
? 6184 polkitd? 20? 0? 616512? 15792? 5160 S? 0.0? ?0.8? 0:00.83 polkitd
? 6865 root? ? ? 20? 0 1007940? 14816? 9936 S? 0.0? ?0.8? 0:00.44 libvirtd
? 6202 root? ? ? 20? 0? 320028? 6748? 5276 S? 0.0? 0.4? 1:54.59 vmtoolsd
1.2 輸入 ps axo pid,%cpu,tty,%mem,cmd k %mem | head -n 5
[root@centos7 ~]#ps axo pid,%cpu,tty,%mem,cmd k -%mem |head -n5
? PID %CPU TT %MEM CMD
? 6275? 0.0 ?? ? ? ? 1.5 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
? 6854? 0.0 ?? ? ? ? 0.9 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
? 6184? 0.0 ?? ? ? ? 0.8 /usr/lib/polkit-1/polkitd --no-debug
? 6865? 0.0 ?? ? ? ? 0.7 /usr/sbin/libvirtd
2翅楼、編寫腳本尉剩,使用for和while分別實現(xiàn)
192.168.0.0/24網(wǎng)段內(nèi),地址是否能夠ping通毅臊,若ping通則輸"success!"理茎,若ping不通則輸出"fail!"
2.1 for 腳本
#!/bin/bash
set -u
set -e
netid=192.168.253
for hostid in {1..254};do? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
{
? ? ping -c1 -W1 $netid.$hostid &> /dev/null
? ? if [ $? -eq 0 ];then
? ? ? ? echo "$netid.$hostid success!"
? ? else
? ? ? ? echo "$netid.$hostid fail!"
? ? fi
}&
done
2.2 while 腳本
#!/bin/bash
NETID=192.168.0
declare -i HOSTID=1
while [ $HOSTID -lt 255 ];do
{? ? ? ping -c1 -W1 $NETID.$HOSTID &> /dev/null? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? if [ $? -eq 0 ];then
? ? ? ? ? ? echo "$NETID.$HOSTID success!"
? ? ? else
? ? ? ? ? ? echo "$NETID.$HOSTID fail!"
? ? ? fi
}&
? ? ? let HOSTID++
done
3、每周的工作日1:30管嬉,將/etc備份至/backup目錄中皂林,保存的文件名稱格式?為“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的時間
[root@centos7 ~]# crontab -e
30 1 * * 1-5 /usr/bin/tar -Jcf etcbak-`date -d "-1 day" +%Y-%m-%d-%H`.tar.xz /etc &> /dev/null
4蚯撩、工作日時間础倍,每10分鐘執(zhí)行一次磁盤空間檢查,一旦發(fā)現(xiàn)任何分區(qū)利用率高?于80%胎挎,就發(fā)送郵件報警
4.1 編寫報警腳本
[root@centos7~]# vim /scrips/checkdisk.sh
#!/bin/bash
WARNING=80
MAIL=root
df |sed -rn '/^\/dev\/sd/s#^([^[:space:]]+).* ([[:digit:]]+)%.*#\1 \2#p'|while read diskpart used;do
? if [ $used -gt $WARNING ];then
? ? ? ? echo "$diskpart will be full,used:$used%" | mail -s "diskcheck_alert" $MAIL
? fi
done
4.2 增加腳本執(zhí)行權(quán)限
[root@centos7~]# chmod +x /scrips/checkdisk.sh
4.3 添加計劃任務(wù)
[root@centos7~]# crontab -e
*/10 * * * 1-5 /bin/bash /scrips/checkdisk.sh &> /dev/null