1、显示统计占用系统内存最多的进程,并排序。
以下几种写法都可以:
ps aux --sort=-%mem
ps aux --sort=-rss
ps aux --sort=-rssize
ps aux --sort=-rsz
ps aux | sort -k4nr
root@14:35:48~ # ps aux --sort=-%mem
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
andy 2035 2.4 8.4 3498208 171104 ? Sl 14:31 0:06 /usr/bin/gnome-shell
andy 2356 1.4 4.7 1185540 95772 ? Sl 14:31 0:03 /usr/libexec/gnome-initial-setup --exis
root 2653 2.6 2.3 474548 48396 ? SN 14:31 0:06 /usr/bin/python /usr/share/PackageKit/h
root 1388 0.9 2.2 338632 46624 tty1 Ssl+ 14:31 0:02 /usr/bin/X :0 -background none -noreset
andy 2459 0.9 1.7 925352 35912 ? Sl 14:31 0:02 /usr/bin/gnome-software --gapplication-
root 736 0.5 1.4 358756 29532 ? Ssl 14:31 0:01 /usr/bin/python2 -Es /usr/sbin/firewall
andy 2591 0.1 1.4 670092 28964 ? Sl 14:31 0:00 /usr/libexec/gnome-terminal-server
andy 2303 0.1 1.3 957444 27344 ? Sl 14:31 0:00 nautilus-desktop --force
root@14:36:47~ # ps aux --sort=-rss
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
andy 2035 2.0 8.4 3497184 171112 ? Sl 14:31 0:06 /usr/bin/gnome-shell
andy 2356 1.2 4.7 1185540 95772 ? Sl 14:31 0:03 /usr/libexec/gnome-initial-setup --exis
root 2653 2.1 2.3 474548 48412 ? SN 14:31 0:06 /usr/bin/python /usr/share/PackageKit/h
root 1388 0.7 2.2 338632 46624 tty1 Ssl+ 14:31 0:02 /usr/bin/X :0 -background none -noreset
andy 2459 0.8 1.7 925352 35912 ? Sl 14:31 0:02 /usr/bin/gnome-software --gapplication-
root 736 0.4 1.4 358756 29532 ? Ssl 14:31 0:01 /usr/bin/python2 -Es /usr/sbin/firewall
andy 2591 0.1 1.4 670092 28964 ? Sl 14:31 0:00 /usr/libexec/gnome-terminal-server
2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
For循环
root@13:38:11~ # vim ip_for.sh
#!/bin/bash
NETID=192.168.0.
for HOSTID in {1..254};do
{
if /bin/ping -c1 -W1 $NETID$HOSTID >/dev/null ;then
echo "$NETID$HOSTID is up."
else
echo "$NETID$HOSTID is down."
fi
} & ###并发执行
done
wait
root@13:38:11~ # chmod +x ip_for.sh
root@13:38:11~ # sh ip_for.sh
192.168.0.5 is down.
192.168.0.6 is down.
192.168.0.7 is down.
192.168.0.8 is down.
192.168.0.9 is down.
...
192.168.0.250 is down.
192.168.0.253 is down.
192.168.0.254 is down.
While循环
生成要扫描的IP列表:
[root@centos7 data]# echo 192.168.0.{1..254} |tr -s " " "\n" > ip.txt
[root@centos7 data]# vim ip_while.sh
#!/bin/bash
while read ip;do
{
/bin/ping -c1 -W1 $ip >/dev/null
if [ $? -eq "0" ];then
echo "$ip is up."
else
echo "$ip is down."
fi
} &
done </data/ip.txt
wait
[root@centos7 data]# chmod +x ip_while.sh
[root@centos7 data]# sh ip_while.sh
192.168.0.2 is down.
192.168.0.3 is down.
192.168.0.4 is down.
192.168.0.1 is down.
...
192.168.0.248 is down.
192.168.0.251 is down.
192.168.0.250 is down.
3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
创建脚本:bakcup.sh
[root@centos7 data]# vim backup.sh
#!/bin/bash
[ -d /backup ] || mkdir /backup
rpm -q xz >/dev/null
[ $? -eq 0 ] || yum -y install xz >/dev/null
DATEFORMAT=`date -d yesterday "+%Y-%m-%d-%H"`
tar -cf /backup/etcbak-$DATEFORMAT.tar /etc > /dev/null && xz -z /backup/etcbak-$DATEFORMAT.tar
[root@centos7 data]# chmod +x backup.sh
[root@centos7 data]# vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
#!/bin/bash
Diskspace=`df |sed -nr ‘s,^/dev/sd.*[ ]+(.*)%.*,\1,p’ |sort -nr |head -1`
Diskinode=`df -i |sed -nr ‘s,^/dev/sd.*[ ]+(.*)%.*,\1,p’ |sort -nr |head -1`
if [ $Diskspace -gt 80 -o $Diskinode -gt 80 ] ;then
wall “Disk space will not enough space!”
fi
*/10 * * * * /root/Myscripts/diskcheck.sh