文章目录
一、显示统计占用系统内存最多的进程,并排序。
ps aux --sort -rss | head -5
二、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"“success!”",若ping不通则输出"“fail!”"
1、用for实现
#!/bin/bash
NET=192.168.0
for ID in {1..254};do
{
ping -c1 -w1 $NET.$ID &> /dev/null && echo success! || echo fail!
}&
done
wait
2、用while实现
#!/bin/bash
NET=192.168.0
ID=1
while [ $ID -le 254 ];do
{
ping -c1 -w1 $NET.$ID &> /dev/null && echo success! || echo fail!
}&
let ID++
done
wait
三、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
创建备份脚本
#!/bin/bash
[ -d /backup ] || mkdir /backup
name=etcbak-`date -d -1day +%F-%H`
tar -Jcvf /backup/b$name.tar.xz /etc &> /dev/null
修改计划任务配置文件
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 /bin/bash /data/scripts/backup.sh
四、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高于80%,就发送邮件报警"
#!/bin/bash
WARNING=80
MAIL=xxx@xxx.com
df | sed -nr "/^\/dev\/sd/s#^([^ ]+) .* ([0-9]+)%.*#\1 \2#p" | while read DEVICE USE;do
if [ $USE -gt $WARNING ];then
echo "$DEVICE will be full, use:$USE" | mail -s "DISK WARNING" $MAIL
fi
done
crontab -e
*/10 * * * 1-5 /data/scripts/checkdisk.sh