1、显示统计占用系统内存最多的进程,并排序。
答:ps aux | sort -k4nr | head -1
2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
答:
while语句
NETID=192.168.0
HOSTID=1
while [$HOSTID -lt 255];do
{
if ping -c1 -W1
N
E
T
I
D
.
NETID.
NETID.HOSTID &> /dev/null;then
echo
N
E
T
I
D
.
NETID.
NETID.HOSTID is up | tee -a hostlist.txt
else
echo
N
E
T
I
D
.
NETID.
NETID.HOSTid is fail!
fi
} &
let HOSTID++
done
wait
for语句
NETID=192.168.0
for HOSTID in {1…254};do
{
if ping -c1 -W1
N
E
T
I
D
.
NETID.
NETID.HOSTID &> /dev/null;then
echo
N
E
T
I
D
.
NETID.
NETID.HOSTID is up | tee -a hostlist.txt
else
echo
N
E
T
I
D
.
NETID.
NETID.HOSTid is fail!
fi
} &
done
wait
3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
答:
(1)编写脚本
#vi backup.sh
tar -czf /backup/etcbak-date -d "1 day ago" +"%Y-%m-%d-%H"
.tar.gz /etc
(2)写计划任务
#crontab -e
30 1 * * 1-5 sh /home/backup.sh
4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
答:
(1)编写脚本
#vi disk_check.sh
WARNING=80
df|sed -rn '/^\/dev\/sd/s#^([^[:space:]]+)'.*([[:digit:]]+)%.*$#\1 \2#p'|while read part use;do
if [$use -gt $WARNING];then
echo $part will be full,use:$use
mail -s “disk is full” whoami`@
hostname`
fi
done
(2)编写计划任务
#crontab -e
*/10 * * * 1-5 sh /home/disk_check.sh