第九周:进程,系统性能和计划任务

1、显示统计占用系统内存最多的进程,并排序
[root@bogon ~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
   PID   PPID CMD                         %MEM %CPU
  3511   3316 /usr/bin/gnome-shell        16.3  0.2
  3873   3316 /usr/bin/gnome-software --g  5.4  0.0
  1572   1156 /usr/bin/X :0 -background n  4.5  0.0
  4084      1 /usr/libexec/gnome-terminal  2.2  0.0
  3800   3316 nautilus-desktop --force     1.6  0.0
  1134      1 /usr/bin/python2 -Es /usr/s  1.1  0.0
  3602      1 /usr/libexec/geoclue -t 5    1.0  0.0
  3693   3316 /usr/libexec/gsd-power       1.0  0.0
  3834      1 /usr/bin/vmtoolsd -n vmusr   1.0  0.0
[root@bogon ~]# ps aux |awk '{print $2,$4,$NF}' |sort -k2 -nr |head -n10
3511 16.3 /usr/bin/gnome-shell
3873 5.4 --gapplication-service
1572 4.5 vt1
4084 2.2 /usr/libexec/gnome-terminal-server
3800 1.6 --force
1134 1.1 -P
741 1.0 --no-debug
4577 1.0 --no-daemon
3834 1.0 vmusr
3709 1.0 /usr/libexec/gsd-xsettings

2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
[root@bogon ~]# cat for_ping.sh
for ((i=1;i<=254;i++));do
	ip=192.168.8.$i
	ping -c1 -W1 $ip &>/dev/null && echo "$ip is success!" || echo "$ip is fail!"
done

[root@bogon ~]# cat for_ping1.sh
for ((i=1;i<=254;i++));do
	ip=192.168.8.$i
	{ ping -c1 -W1 $ip &>/dev/null && echo "$ip is success!" || echo "$ip is fail!" 
	}&
done

[root@bogon ~]# cat while_ping.sh
NET=192.168.8
i=1
while [ $i -le 254 ];do
	ping -c1 -W1 $NET.$i &>/dev/null && echo "$NET.$i is success!" || echo "$NET.$i is fail!"
	let i++
done

[root@bogon ~]# cat while_ping1.sh
[root@bogon ~]# cat while_ping.sh
NET=192.168.8
i=1
while [ $i -le 254 ];do
	{ ping -c1 -W1 $NET.$i &>/dev/null && echo "$NET.$i is success!" || echo "$NET.$i is fail!"
	}&
	let i++
done
3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
[root@bogon ~]# crontab -e
30 1 * * 1-5 tar Jcf "/data/etcbak-`date -d "-1 day" +%F-%H`.tar.xz" /etc

4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
[root@bogon ~]# cat diskcheck.sh
NUM=`df |awk -F " +|%" '/^\/dev\/sd/{print $5}' |sort -nr |head -n1`
if [ $NUM -gt 8 ];then
	wall "disk will full"
fi

[root@bogon ~]# crontab -e
*/10 * * * * bash /root/diskcheck.sh

猜你喜欢

转载自blog.csdn.net/wauzy/article/details/106616716
今日推荐