栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

6.Shell脚本基础

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

6.Shell脚本基础

Part 1 1、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
[root@kezai ~]#cat system_info.sh 
#!/bin/bashj
RANDOM_COLOR="E[1;"$[RANDOM%7+31]"m"
GREEN="echo -e E[1;32m"
COLOR_END="E[0m"
ETHNAME=`ifconfig |head -1| tr -s ":" " "|cut -d" " -f 1`

$GREEN----------------------Host systeminfo--------------------$COLOR_END
echo -e  "HOSTNAME:     $RANDOM_COLOR`hostname`$COLOR_END"
echo -e  "IPADDR:       $RANDOM_COLOR` ifconfig $ETHNAME|grep -Eo '([0-9]{1,3}.){3}[0-9]{1,3}' |head -n1`$COLOR_END"
echo -e  "OSVERSION:    $RANDOM_COLOR`cat /etc/redhat-release`$COLOR_END"
echo -e  "KERNEL:       $RANDOM_COLOR`uname -r`$COLOR_END"
echo -e  "CPU:          $RANDOM_COLOR`lscpu|grep 'Model name'|tr -s ' '|cut -d : -f2`$COLOR_END"
echo -e  "MEMORY:       $RANDOM_COLOR`free -h|grep Mem|tr -s ' ' : |cut -d : -f2`$COLOR_END"
echo -e  "DISK:         $RANDOM_COLOR`lsblk |grep '^sd' |tr -s ' ' |cut -d " " -f4`$COLOR_END"
$GREEN---------------------------------------------------------$COLOR_END

2、编写脚本 backup.sh,可实现每日将 /etc/ 目录备份到 /backup/etcYYYY-mm-dd中
[root@kezai ~]#cat backup.sh
#!/bin/bash
# **********************************************************
# * Date       : 2022-05-11 17:16
# * Filename   : backup.sh
# **********************************************************
COLOR="33[1;35m"
END="33[0m"
SRC=/etc
DEST=/data/etc`date +%F_%T`

echo -e "${COLOR}String backup...${END}"
sleep 2
cp -av ${SRC}   ${DEST}
echo -e "${COLOR}Backup is finished${END}"

3、编写脚本 disk.sh,显示当前硬盘分区中空间利用率最大的值
[root@kezai ~]#cat disk.sh 
#!/bin/bash
# **********************************************************
# * Date       : 2022-05-11 19:04
# * Filename   : disk.sh
# **********************************************************
df | grep "/dev/sda*" | grep -o '[0-9]{1,3}%'|sort -nr| head -1

4、编写脚本 links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排

[root@kezai ~]#cat links.sh 
#!/bin/bash
# **********************************************************
# * Date       : 2022-05-11 18:57
# * Filename   : links.sh
# **********************************************************
last | grep '^root' | tr -s ' ' | cut -d ' ' -f 3|sort |uniq -c 
Part 2 1、编写脚本argsnum.sh,接受一个文件路径作为参数:如果参数个数小于1,则提示用户“至少应该给一个参数”,并立即退出;如果参数个数不小于1,则显示第一个参数所指向的文件中的空白行数
[root@kezai ~]#cat argsunum.sh 
#!/bin/bash
# **********************************************************
# * Date       : 2022-05-13 15:56
# * Filename   : argsunum.sh
# **********************************************************
FILE=$1
[ -z $FILE ] && echo "至少应该给一个参数" || grep '^$' $FILE | wc -l 
[root@kezai ~]#bash argsunum.sh 
至少应该给一个参数
[root@kezai ~]#bash argsunum.sh /etc/init.d/functions 
91
2、编写脚本hostping.sh,接受一个主机的IPv4地址做为参数,测试是否连通。如果能ping通,则提示用户“该ip地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”
[root@kezai ~]#cat hostping.sh 
#!/bin/bash
# **********************************************************
# * Date       : 2022-05-13 16:03
# * Filename   : hostping.sh
# **********************************************************
IP=10.0.0.2
ping -c1 -w1 $IP &> /dev/null && echo "该ip地址可以访问" || { echo "该ip地址不可访问";exit;}
echo "Script is finished"
3、编写脚本checkdisk.sh,检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满
[root@kezai ~]#cat disk_check.sh 
#!/bin/bash
# **********************************************************
# * Date       : 2022-05-12 14:09
# * Filename   : disk_check.sh
# **********************************************************
WARING=80

SPACE_USED=`df | grep '^/dev/sd'|grep -Eo '[0-9]+%' |tr -d % |sort -nr|head -1`
INODE_USED=`df -i| grep '^/dev/sd'|grep -Eo '[0-9]+%' |tr -d % |sort -nr|head -1`
[ "$SPACE_USED" -gt $WARING -o "$INODE_USED" -gt $WARING ] && echo "DISK_USED:$SPACE_USED%,INODE_USED:$INODE_USED,will be full"| mail -s "disk waring" 295327677@qq.com
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/881935.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号