1、顯示統(tǒng)計占用系統(tǒng)內存最多的進程,并排序辈挂。
ps aux k -%mem|head -10
[root@centos7 ~]# ps aux k -%mem|head -10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
gdm 1634 0.5 7.0 3218084 130596 ? Sl 20:53 0:07 /usr/bin/gnome-shell
root 1572 0.1 1.3 296128 24336 tty1 Ssl+ 20:53 0:01 /usr/bin/X :0 -background none -noreset -audit 4 -verbose -auth /run/gdm/auth-for-gdm-iaT34a/database -seat seat0 -nolisten tcp vt1
root 1057 0.0 1.0 574308 19520 ? Ssl 20:53 0:00 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
gdm 1749 0.0 0.8 639952 16628 ? Sl 20:53 0:00 /usr/libexec/gsd-power
gdm 1740 0.0 0.8 1012036 15548 ? Sl 20:53 0:00 /usr/libexec/gsd-media-keys
gdm 1716 0.0 0.7 615204 14820 ? Sl 20:53 0:00 /usr/libexec/gsd-xsettings
gdm 1728 0.0 0.7 714064 14524 ? Sl 20:53 0:00 /usr/libexec/gsd-color
gdm 1782 0.0 0.7 623032 14076 ? Sl 20:53 0:00 /usr/libexec/gsd-wacom
polkitd 625 0.0 0.7 616356 13804 ? Ssl 20:53 0:01 /usr/lib/polkit-1/polkitd --no-debug
2、編寫腳本裹粤,使用for和while分別實現192.168.0.0/24網段內终蒂,地址是否能夠ping通,若ping通則輸出"success!"遥诉,若ping不通則輸出"fail!"
192.168.0.0/24
表示網絡碼占24位拇泣,就是說該網絡上可以有254個主機(2^8-2)
IP范圍:192.168.0.1~192.168.0.254 192.168.0.255是廣播地址,不能被主機使用矮锈。
設置IP地址的時候:192.168.0.x 子網掩碼:255.255.255.0
(1)for循環(huán)
#!/bin/bash
for HOSTID in {1..254};do
{
ping -c1 -w1 192.168.0.$HOSTID &>/dev/null
if [ $? -eq 0 ];then
echo "192.168.0.$HOSTID success!"
else
echo "192.168.0.$HOSTID fail!"
fi
}
done
運行結果:(2)while循環(huán)
#!/bin/bash
declare -i HOSTID=1
while [ $HOSTID -lt 255 ] ;do
{
ping -c1 -w1 192.168.0.$HOSTID &>/dev/null
if [ $? -eq 0 ];then
echo "192.168.0.$HOSTID success!"
else
echo "192.168.0.$HOSTID fail!"
fi
}
let HOSTID++
done
運行結果:3霉翔、每周的工作日1:30,將/etc備份至/backup目錄中苞笨,保存的文件名稱格式 為“etcbak-yyyy-mm-dd-HH.tar.xz”债朵,其中日期是前一天的時間
第一步:創(chuàng)建/backup文件夾
mkdir /backup
第二步:在/etc/crontab中設定計劃任務
30 1 * * 1-5 root /usr/bin/tar -Jcvf /backup/etcbak-`date -d -1day "+\%F-\%H"`.tar.xz /etc
vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
30 1 * * 1-5 root /usr/bin/tar -Jcvf /backup/etcbak-`date -d -1day "+\%F-\%H"`.tar.xz /etc
4、工作日時間猫缭,每10分鐘執(zhí)行一次磁盤空間檢查葱弟,一旦發(fā)現任何分區(qū)利用率高 于80%,就發(fā)送郵件報警
第一步:編寫腳本
vim checkdisk.sh
#!/bin/bash
useRate=`df|grep '^/dev'|sed -E 's/(.*)( )([0-9]+)%( .*)/\3/g'|sort -nr|head -1`
if [ $useRate -gt 80 ];then
mail root << EOF
the use% of disk is more than 80
EOF
fi
第二步:給腳本增加執(zhí)行權限
chmod +x checkdisk.sh
第三步:設置計劃任務
vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*/10 * * * 1-5 root /bin/bash /data/checkdisk.sh
查看結果: