1、显示统计占用系统内存最多的进程,并排序。
~]# ps -eo pid,uid,rss,comm --sort -rss | head
PID UID RSS COMMAND
679 0 559312 kube-apiserver
957 0 110240 etcd
1281 0 71980 kube-controller
682 0 36616 kube-scheduler
956 0 18600 tuned
758 0 15928 dhclient
683 0 11824 rsyslogd
677 999 9976 polkitd
4591 0 9612 bash
2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
~]# cat /tmp/for_ping.sh
for i in {0..255}; do
for j in {0..255}; do
ip="192.168.${i}.${j}"
ping -c 1 -q -W 5 $ip
if [ $? == 0 ] ;then
echo $ip" success!"
else
echo $ip" fail!"
fi
done
done
~]# cat /tmp/while_ping.sh
i=0;
j=0
while [ $i -le 255 ]
do
while [ $j -le 255 ]
do
ip="192.168.${i}.${j}"
ping -c 1 -q -W 5 $ip
if [ $? == 0 ] ;then
echo $ip" success!"
else
echo $ip" fail!"
fi
let j++
let i++
done
done
3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
~]# crontab -l
30 1 * * 1-5 sh /root/etc_bak.sh
~]# cat /root/etc_bak.sh
tar -czf /backup/etcbak-$(date -d '-1 day' +%Y-%m-%d-%H).tar.gz /etc
4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
~]# cat disk_usage.sh
diskspaces=($(df -hT | grep /dev | awk '{print $6","$7}' | sed 's/%//g'))
for ((i=0;i<${#diskspaces[@]};i++));do
item=${diskspaces[i]};
IFS=","
array=($item)
# echo "${array[0]}=${array[1]}"
let value=${array[0]}-80;
if [ $value -gt 0 ];then
echo "分区 "${array[1]}" 使用量 ${array[0]}% 大于80%"
fi
done
~]# crontab -l
*/10 * * * 1-5 sh /root/disk_usage.sh