1、显示统计占用系统内存最多的进程,并排序。
[root@centos7 ~]# ps axuk -%mem
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
ovirtag+ 968 0.3 0.2 563332 19692 ? Ssl Jan09 26:46 /usr
root 536 0.0 0.2 55576 17820 ? Ss Jan09 0:10 /usr
root 1219 0.0 0.2 574200 17456 ? Ssl Jan09 1:12 /usr
root 1229 0.0 0.1 1004108 15568 ? Ssl Jan09 0:00 /usr
polkitd 907 0.0 0.1 614432 13256 ? Ssl Jan09 0:02 /usr
root 1225 0.0 0.1 232804 12336 ? Ssl Jan09 0:37 /usr
root 927 0.0 0.1 563780 11572 ? Ssl Jan09 0:02 /usr
root 14749 0.2 0.1 350504 8600 ? Sl 08:12 0:00 /usr
root 14728 0.7 0.0 163616 6132 ? Ss 08:12 0:00 sshd
root 14585 0.0 0.0 163616 6124 ? Ss 08:06 0:00 sshd
root 895 0.0 0.0 228252 5784 ? Ss Jan09 0:00 /usr
root 902 0.0 0.0 430612 5488 ? Ssl Jan09 0:00 /usr
root 2586 0.0 0.0 410440 5304 ? Ssl Jan09 0:07 /usr
root 903 0.0 0.0 225756 4816 ? Ss Jan09 0:00 /usr
root 941 0.0 0.0 225756 4808 ? Ss Jan09 0:00 /usr
root 1222 0.0 0.0 112920 4360 ? Ss Jan09 0:00 /usr
root 1218 0.0 0.0 198000 4188 ? Ss Jan09 0:00 /usr
root 1 0.0 0.0 191124 4132 ? Ss Jan09 0:11 /usr
postfix 1608 0.0 0.0 91956 4088 ? S Jan09 0:00 qmgr
postfix 13772 0.0 0.0 91888 4076 ? S 07:15 0:00 pick
root 14587 0.0 0.0 116660 3272 pts/0 Ss+ 08:06 0:00 -bas
root 14730 0.7 0.0 116660 3272 pts/1 Ss 08:12 0:00 -bas
2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
#!/bin/bash
#for循环实现
for i in {1..254}; do
ping -w 1 192.168.0.$i > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "192.168.0.$i success!"
else
echo "192.168.0.$i fail!"
fi
done
#############################################################
#!/bin/bash
#while实现
declare -i i=1
while [ $i -le 254 ]; do
ping -w 1 192.168.0.$i > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "192.168.0.$i success!"
else
echo "192.168.0.$i fail!"
fi
let i++
done
3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
执行命令crontab -e编写计划任务,写入以下内容:
30 1 * * 1-5 tar -cJf /back/etcbak-`date -d 'last day' "+%F-%H"`.tar.xz /etc/* &> /dev/null
4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警。
执行命令crontab -e编写计划任务,写入以下内容:
*/10 * * * 1-5 /bin/bash /root/scripts/disk_warn.sh &> /dev/null
其中disk_warn.sh内容如下:
#!/bin/bash
WARNING=80
MAIL=root@localhost
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