shell脚本基础编程

1、编写脚本shiyan1.sh,用来显示当前主机名、主机系统信息、IPV4地址、操作系统版本、内核版本、CPU型号、内存大小、硬盘大小。

[man~]# vim shiyan1.sh
#!/bin/bash

sleep 1
echo `hostname`
sleep 1
echo `cat /etc/redhat-release | cut -d. -f1-2`
sleep 1
echo IPV4地址:`ifconfig | grep -o "[1-9]\{1,3\}\.[0-9]\+\.[1-9]\{1,3\}\.[0-9]\{,3\}"|head -1`
sleep 1
echo `uname -r`
sleep 1
echo `lscpu |grep "Model name" |tail -1 | tr -s ' ' |cut -d: -f2`
sleep 1
echo `free -mh | head -2|tail -1|tr -s " "|cut -d" " -f2`
sleep 1
echo `fdisk -l|head -2|tail -1|cut -d, -f1|tr -d " "|cut -d: -f2`

利用命令 bash -x 脚本 可以查看脚本执行过程中的错误。

echo $?命令可以查看前面执行的脚本是否错误。

2、编写脚本disk.sh,显示当前硬盘中空间利用率最大的值。

[man~]# vim disk.sh
#!/bin/bash

echo `df |grep /dev/sd | grep -0 "[0-9]\{1,3\}%" |sort -rn |head -1`

3、编写脚本link.sh显示正连接本主机的每个远程主机的IPV4地址和连接数。

[man~]# vim link.sh
#!/bin/bash

echo `netstat -tan | tr -s " " ":"|cut -d: -f6 | grep ^[[:digit:]]|sort|uniq -c | sort -nr`

4、编写脚本backup.sh来实现每日备份。例如实现每日将/etc/目录备份到/root/bin/etcYYY-mm-dd中。

[man~]# vim backup.sh
#!/bin/bash

sleep 1
echo -e "Backupstarting......."
sleep 2
cp -a /etc/ /root/etc`date +%Y-%m-%d`
echo -e "Backup finished......"