网易首页 > 网易号 > 正文 申请入驻

Linux运维常用Shell脚本!

0
分享至

(1)检测本机当前用户是否为超级管理员
#!/bin/bash
# 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不
# 是,则提示您非管理员(使用字串对比版本)
if [ $USER == "root" ]
then
yum -y install vsftpd
else
echo "您不是管理员,没有权限安装软件"
fi

1)实时监控本机内存和硬盘剩余空间,剩余内存小于 500M、根分区剩余空间小于 1000M 时,发送报警邮件给 root 管理员

(2)查看有多少远程的 IP 在连接本机
#!/bin/bash
#!/bin/bash
# 查看有多少远程的 IP 在连接本机(不管是通过 ssh 还是 web 还是 ftp 都统计)
# 使用 netstat ‐atn 可以查看本机所有连接的状态,‐a 查看所有,
# -t仅显示 tcp 连接的信息,‐n 数字格式显示
# Local Address(第四列是本机的 IP 和端口信息)
# Foreign Address(第五列是远程主机的 IP 和端口信息)
# 使用 awk 命令仅显示第 5 列数据,再显示第 1 列 IP 地址的信息
# sort 可以按数字大小排序,最后使用 uniq 将多余重复的删除,并统计重复的次数
netstat -atn | awk '{print $5}' | awk '{print $1}' | sort -nr | uniq -c

(3)九九乘法表
#!/bin/bash
for i in `seq 9`
do
for j in `seq $i`
do
echo -n "$j*$i=$[i*j] "
done
echo
done

(4)打印 tomcat 的 pid
#!/bin/sh`
v1="Hello"
v2="world"
v3=${v1}${v2}
echo $v3
pidlist=`ps -ef|grep apache-tomcat-7.0.75|grep -v "grep"|awk '{print $2}'`
echo $pidlist
echo "tomcat Id list :$pidlist" //显示pid

(5)脚本用源码来安装 memcached 服务器
#!/bin/bash
# 一键部署 memcached
# 脚本用源码来安装 memcached 服务器
# 注意:如果软件的下载链接过期了,请更新 memcached 的下载链接
wget http://www.memcached.org/files/memcached-1.5.1.tar.gz
yum -y install gcc
tar -xf memcached‐1.5.1.tar.gz
cd memcached‐1.5.1
./configure
make
make install

(6)if 运算表达式
#!/bin/bash -xv
if [ $1 -eq 2 ] ;then
echo "wo ai wenmin"
elif [ $1 -eq 3 ] ;then
echo "wo ai wenxing "
elif [ $1 -eq 4 ] ;then
echo "wo de xin "
elif [ $1 -eq 5 ] ;then
echo "wo de ai "
fi

(7)脚本 杀掉 tomcat 进程并重新启动
#!/bin/bash
#kill tomcat pid
pidlist=`ps -ef|grep apache-tomcat-7.0.75|grep -v "grep"|awk '{print $2}'` #找到tomcat的PID号
echo "tomcat Id list :$pidlist" //显示pid
kill -9 $pidlist #杀掉改进程
echo "KILL $pidlist:" //提示进程以及被杀掉
echo "service stop success"
echo "start tomcat"
cd /opt/apache-tomcat-7.0.75
pwd
rm -rf work/*
cd bin
./startup.sh #;tail -f ../logs/catalina.out

(8)统计当前 Linux 系统中可以登录计算机的账户有多少个
#!/bin/bash
# 统计当前 Linux 系统中可以登录计算机的账户有多少个
#方法 1:
grep "bash$" /etc/passwd | wc -l
#方法 2:
awk -f : '/bash$/{x++}end{print x}' /etc/passwd

(9)编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机
#!/bin/bash
# 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机
# 状态(for 版本)
for i in {1..254}
do
# 每隔0.3秒ping一次,一共ping2次,并以1毫秒为单位设置ping的超时时间
ping -c 2 -i 0.3 -W 1 192.168.1.$i &>/dev/null
if [ $? -eq 0 ];then
echo "192.168.1.$i is up"
else
echo "192.168.1.$i is down"
fi
done

(10)编写脚本:提示用户输入用户名和密码, 脚本自动创建相应的账户及配置密码。
#!/bin/bash
# 编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户
# 不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默
# 认的 123456 作为默认密码。
read -p "请输入用户名:" user
#使用‐z 可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为 2
#没有输入用户名脚本退出后,使用$?查看的返回码为 2
if [ -z $user ]; then
echo " 您不需要输入账户名"
exit 2
fi
#使用 stty ‐echo 关闭 shell 的回显功能
#使用 stty echo 打开 shell 的回显功能
stty -echo
read -p "请输入密码:" pass
stty echo
pass=${pass:-123456}
useradd "$user"
echo "$pass" | passwd --stdin "$user"

(11)根据计算机当前时间,返回问候语,可以将该脚本设置为开机启动
#!/bin/bash
# 根据计算机当前时间,返回问候语,可以将该脚本设置为开机启动
# 00‐12 点为早晨,12‐18 点为下午,18‐24 点为晚上
# 使用 date 命令获取时间后,if 判断时间的区间,确定问候语内容
tm=$(date +%H)
if [ $tm -le 12 ];then
msg="Good Morning $USER"
elif [ $tm -gt 12 -a $tm -le 18 ];then
msg="Good Afternoon $USER"
else
msg="Good Night $USER"
fi
echo "当前时间是:$(date +"%Y‐%m‐%d %H:%M:%S")"
echo -e "\033[34m$msg\033[0m"

(12)脚本 每周 5 使用 tar 命令备份 / var/log 下的所有日志文件
#!/bin/bash
# 每周 5 使用 tar 命令备份/var/log 下的所有日志文件
# vim /root/logbak.sh
# 编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖
# 注意 date 命令需要使用反引号括起来,反引号在键盘
tar -czf log-`date +%Y%m%d`.tar.gz /var/log
# crontab -e #编写计划任务,执行备份脚本
00 03 * * 5 /home/wenmin/datas/logbak.sh

(13)# 定义要监控的页面地址,对 tomcat 状态进行重启或维护

#!/bin/sh
# function:自动监控tomcat进程,挂了就执行重启操作
# author:huanghong
# DEFINE
# 获取tomcat PPID
TomcatID=$(ps -ef |grep tomcat |grep -w 'apache-tomcat-7.0.75'|grep -v 'grep'|awk '{print $2}')
# tomcat_startup
StartTomcat=/opt/apache-tomcat-7.0.75/bin/startup.sh
#TomcatCache=/usr/apache-tomcat-5.5.23/work
# 定义要监控的页面地址
WebUrl=http://192.168.254.118:8080/
# 日志输出
GetPageInfo=/dev/null
TomcatMonitorLog=/tmp/TomcatMonitor.log
Monitor()
{
echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"
if [ $TomcatID ]
then
echo "[info]tomcat进程ID为:$TomcatID."
# 获取返回状态码
TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})
if [ $TomcatServiceCode -eq 200 ];then
echo "[info]返回码为$TomcatServiceCode,tomcat启动成功,页面正常."
else
echo "[error]访问出错,状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"
echo "[error]开始重启tomcat"
kill -9 $TomcatID # 杀掉原tomcat进程
sleep 3
#rm -rf $TomcatCache # 清理tomcat缓存
$StartTomcat
fi
else
echo "[error]进程不存在!tomcat自动重启..."
echo "[info]$StartTomcat,请稍候......"
#rm -rf $TomcatCache
$StartTomcat
fi
echo "------------------------------"
}
Monitor>>$TomcatMonitorLog

(14)实时监控本机内存和硬盘剩余空间,剩余内存小于 500M、根分区剩余空间小于 1000M 时,发送报警邮件给 root 管理员
#!/bin/bash
# 实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员
# 提取根分区剩余空间
disk_size=$(df / | awk '/\//{print $4}')
# 提取内存剩余空空间
mem_size=$(free | awk '/Mem/{print $4}')
while :
do
# 注意内存和磁盘提取的空间大小都是以 Kb 为单位
if [ $disk_size -le 512000 -a $mem_size -le 1024000 ]
then
mail ‐s "Warning" root <
Insufficient resources,资源不足
EOF
fi
done

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
日本女兵回忆:在焚烧军官尸体的火堆旁,队长对女兵做下禽兽之举

日本女兵回忆:在焚烧军官尸体的火堆旁,队长对女兵做下禽兽之举

瀚霖学史
2026-03-25 09:02:02
老人离世房产未过户,2026年法律新规:继承权真的会作废吗?

老人离世房产未过户,2026年法律新规:继承权真的会作废吗?

复转这些年
2026-03-22 17:48:38
“戴套不算是强奸”,2011年26岁女子被领导强暴,报案时她被惊呆

“戴套不算是强奸”,2011年26岁女子被领导强暴,报案时她被惊呆

汉史趣闻
2026-03-25 14:14:30
刘亦菲真空上阵宝格丽!身形肥硕但事业线干瘪,一个动作全网怒赞

刘亦菲真空上阵宝格丽!身形肥硕但事业线干瘪,一个动作全网怒赞

涵豆说娱
2026-03-24 10:41:07
纽约期金失守4530美元/盎司,现跌1.2%

纽约期金失守4530美元/盎司,现跌1.2%

每日经济新闻
2026-03-26 07:43:03
回顾“91女神”琪琪:五官出众,却因天真让自己“受伤”

回顾“91女神”琪琪:五官出众,却因天真让自己“受伤”

就一点
2025-11-22 10:36:39
伊朗大杀器登场,以色列被打疼,美迎来不眠之夜,特朗普被迫让步

伊朗大杀器登场,以色列被打疼,美迎来不眠之夜,特朗普被迫让步

南宗历史
2026-03-26 09:50:36
美财长承认:拦不住、打不赢,霸权底裤被扒光,中国这波赢麻了!

美财长承认:拦不住、打不赢,霸权底裤被扒光,中国这波赢麻了!

潋滟晴方DAY
2026-03-26 09:25:49
你知道我在床上有多厉害吗?

你知道我在床上有多厉害吗?

果粉之家
2026-03-20 12:35:16
伊朗导弹撑了近一个月,中国能撑多久?俄专家断言:半小时定胜负

伊朗导弹撑了近一个月,中国能撑多久?俄专家断言:半小时定胜负

阿芒娱乐说
2026-03-25 17:11:09
傅斯年怒斥苏联“集罪恶之大成”:那些敢向苏联开炮的中国硬骨头

傅斯年怒斥苏联“集罪恶之大成”:那些敢向苏联开炮的中国硬骨头

顾史
2026-03-21 19:52:44
1981年,彭真狱中见江青,江青出言不逊提出:我要见华国锋邓小平

1981年,彭真狱中见江青,江青出言不逊提出:我要见华国锋邓小平

微野谈写作
2026-01-27 06:00:03
张雪峰离世1天后,才发现女儿名字取得暗藏深意,字字都有来头

张雪峰离世1天后,才发现女儿名字取得暗藏深意,字字都有来头

阿纂看事
2026-03-25 16:29:49
河南00后游戏主播因手长得像“奶龙”却打出五杀战绩火了,本人回应:是天生残疾,一开始很自卑

河南00后游戏主播因手长得像“奶龙”却打出五杀战绩火了,本人回应:是天生残疾,一开始很自卑

大象新闻
2026-03-25 19:45:06
价格飙涨6000%!原研药集体撤离中国的影响,开始出现了...

价格飙涨6000%!原研药集体撤离中国的影响,开始出现了...

坠入二次元的海洋
2026-03-24 00:58:18
又是1-3、又是输在决赛!向鹏淘汰温瑞博,获世乒赛参赛资格

又是1-3、又是输在决赛!向鹏淘汰温瑞博,获世乒赛参赛资格

十点街球体育
2026-03-25 20:08:11
网友曝张雪峰抢救细节!倒地30分钟才被发现,用ECMO全力抢救无效

网友曝张雪峰抢救细节!倒地30分钟才被发现,用ECMO全力抢救无效

冒泡泡的鱼儿
2026-03-25 19:57:13
日本不再欢迎中国人?3月起日本签证“一刀切”,华人进退两难!

日本不再欢迎中国人?3月起日本签证“一刀切”,华人进退两难!

瑛派儿老黄
2026-03-23 16:53:21
萨巴伦卡赢郑钦文后吃100美元汉堡 顶奢!鱼子酱+金箔碎她说超好吃

萨巴伦卡赢郑钦文后吃100美元汉堡 顶奢!鱼子酱+金箔碎她说超好吃

劲爆体坛
2026-03-26 08:10:23
都是我国山最多的两个省,经济差距为何这么大?

都是我国山最多的两个省,经济差距为何这么大?

孤云朗境
2026-03-25 20:17:57
2026-03-26 10:31:00
互联网干货博主
互联网干货博主
我是专注分享互联网干货的博主
278文章数 1340关注度
往期回顾 全部

科技要闻

硅谷因AI大裁员?一线工程师戳破真相

头条要闻

举天价零件发出灵魂拷问的美官员 自己被大学生质问了

头条要闻

举天价零件发出灵魂拷问的美官员 自己被大学生质问了

体育要闻

35岁替补门将,凭什么入选英格兰队?

娱乐要闻

张雪峰遗产分割复杂!是否立遗嘱成关键

财经要闻

黄仁勋:芯片公司的时代已经结束了

汽车要闻

智己LS8放大招 30万内8系旗舰+全线控底盘秀实力

态度原创

房产
教育
亲子
健康
旅游

房产要闻

41亿!259亩!建学校…三亚这个大城更,最新方案曝光!

教育要闻

惊了!斯坦福大学近四成学生登记为残障人士?!

亲子要闻

期盼每个孩子天天都能睡好觉

转头就晕的耳石症,能开车上班吗?

旅游要闻

白如雪粉如霞!玉盏轻举,盛放庙行春光

无障碍浏览 进入关怀版