常见Shell编程脚本
一、Linux运维监控相关
1、创建 Linux 系统账户及密码
1 |
|
提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默认的 123456 作为默认密码
1 |
|
使用 user.txt 文件中的人员名单,在计算机中自动创建对应的账户并配置初始密码本脚本执行,需要提前准备一个 user.txt 文件,该文件中包含有若干用户名信息
1 |
|
2、备份日志
1 |
|
3、测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态
1 |
|
4、进度条
1 |
|
5、批量修改扩展名脚本
1 |
|
6、使用 expect 工具自动交互密码远程其他主机安装 httpd 软件
1 |
|
7、一键部署LNMP
1 |
|
8、根据 md5 校验码,检测文件是否被修改
1 |
|
9、查看有多少远程的 IP 在连接本机’
1 |
|
10、监控内存和磁盘容量,小于给定值时报警
1 |
|
11、使用死循环实时显示 eth0 网卡发送的数据包流量
1 |
|
12、 apache 服务器的监控
1 |
|
13、统计当前 Linux 系统中可以登录计算机的账户
1 |
|
14、统计/var/log 有多少个文件,并显示这些文件名
1 |
|
15、自动为其他脚本添加解释器信息
1 |
|
16、nginx 启动脚本
1 |
|
17、切割 Nginx 日志文件(防止单个文件过大,后期处理很困难)
1 | #mkdir /data/scripts |
18、检测 MySQL 数据库连接数量
1 |
|
19、检测 MySQL 服务是否存活
1 |
|
20、备份 MySQL
1 |
|
21、将文件中所有的小写字母转换为大写字母
1 |
|
22、非交互自动生成 SSH 密钥文件
1 |
|
23、检查特定的软件包是否已经安装
1 |
|
24、监控 HTTP 服务器的状态(测试返回码)
1 |
|
25、自动添加防火墙规则,开启某些服务或端口(适用于 RHEL7)
1 |
|
26、使用脚本自动创建逻辑卷
1 |
|
27、显示 CPU 厂商信息
1 |
|
28、删除某个目录下大小为 0 的文件
1 |
|
29、查找 Linux 系统中的僵尸进程
1 |
|
30、生成随机密码
1 |
|
31、测试用户名与密码是否正确
1 |
|
32、Shell 脚本的 fork 炸弹
1 |
|
33、批量下载有序文件(pdf、图片、视频等等)
1 |
|
34、自动对磁盘分区、格式化、挂载
1 |
|
35、使用 tar 命令打包备份到/data目录
1 |
|
36、循环关闭局域网中所有主机
1 |
|
37、获取本机 MAC 地址
1 |
|
38、自动配置 rsynd 服务器的配置文件 rsyncd.conf
1 |
|
39、修改 Linux 系统的最大打开文件数量
1 |
|
40、设置 Python 支持自动命令补齐功能
1 |
|
41、自动修改计划任务配置文件
1 |
|
42、找出/etc/passwd 中能登录的用户,并将对应在/etc/shadow 中第二列密码提出处理
1 |
|
43、统计/etc/passwd 中 root 出现的次数
1 |
|
44、统计 Linux 进程相关数量信息
1 |
|
45、显示本机 Linux 系统上所有开放的端口列表
1 |
|
46、将 Linux 系统中 UID 大于等于 1000 的普通用户都删除
1 |
|
47、脚本快速克隆 KVM 虚拟机
1 |
|
48、使用脚本开启关闭虚拟机
1 |
|
49、调整虚拟机内存参数的 shell 脚本
1 |
|
50、查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)
1 |
|
51、不登陆虚拟机,修改虚拟机网卡 IP 地址
1 |
|
52、破解虚拟机密码,无密码登陆虚拟机系统
1 |
|
53、Shell 脚本对信号的处理,执行脚本后,按键盘 Ctrl+C 无法终止
1 |
|
54、一键部署 memcached
1 |
|
55、一键配置 VNC 远程桌面服务器(无密码版本)
1 |
|
56、关闭 SELinux
1 |
|
57、查看所有虚拟机磁盘使用量以及CPU使用量信息
1 |
|
58、根据计算机当前时间,返回问候语,可以将该脚本设置为开机启动
1 |
|
59、读取用户输入的账户名称,将账户名写入到数组保存
1 |
|
60、判断文件或目录是否存在
1 |
|
61、打印各种格式的时间
1 |
|
62、使用 egrep 过滤 MAC 地址
1 |
|
63、生成签名私钥和证书
1 |
|
64、使用awk编写的wc程序
1 |
|
二、游戏相关
1、猜数字游戏
1 | #!/bin/bash |
2、石头、剪刀、布游戏
1 |
|
3、9*9 乘法表
1 |
|
4、点名器脚本
1 |
|
5、对 100 以内的所有正整数相加求和
1 |
|
6、打印国际象棋棋盘
1 |
|
7、提示用户输入年份后判断该年是否为闰年
1 |
|
8、使用脚本循环创建三位数字的文本文件(111-999 的文件)
1 |
|
9、从键盘读取一个论坛积分,判断论坛用户等级
1 |
|
10、判断用户输入的数据类型(字母、数字或其他)
1 |
|
11、打印斐波那契数列
1 |
|
12、判断用户输入的是 Yes 或 NO
1 |
|
13、使用 shell 脚本打印图形
1 |
|
14、统计双色球各个数字的中奖概率
1 |
|