对于初学者而言,因为没有实战经验,写不出来Shell脚本很正常,如果工作了几年的运维老年还是写不出来,那就是没主动找需求,缺乏练习,缺乏经验.针对以上问题,总结了30个生产环境中经典的Shell脚本,通过这些需求案例,希望能帮助大家提升Shell编写思路,掌握编写技巧. 先了解下编写Shell过程中注意事项: 开头加解释器:#!/bin/bash 语法缩进,使用四个空格:多加注释说明. 命名建议规则:变量名大写.局部变量小写,函数名小写,名字体现出实际作用. 默认变量是全局的,在函数中变量loc…
本文目录 21.从FTP服务器下载文件 22.连续输入5个100以内的数字,统计和.最小和最大 23.将结果分别赋值给变量 24.批量修改文件名 25.统计当前目录中以.html结尾的文件总大 26.扫描主机端口状态 27.Expect实现SSH免交互执行命令 28.批量修改服务器用户密码 29.打印乘法口诀 30.getopts工具完善脚本命令行参数 21.从FTP服务器下载文件 #!/bin/bash if [ $# -ne 1 ]; then echo "Usage: $0 filenam…
本文目录 11.iptables自动屏蔽访问网站频繁的IP 12.判断用户输入的是否为IP地址 13.判断用户输入的是否为数字 14.给定目录找出包含关键字的文件 15.监控目录,将新创建的文件名追加到日志中 16.给用户提供多个网卡选择 17.查看网卡实时流量 18.MySQL数据库备份 19.Nginx服务管理脚本 20.用户根据菜单选择要连接的Linux主机 11.iptables自动屏蔽访问网站频繁的IP 场景:恶意访问,安全防范 1)屏蔽每分钟访问超过200的IP 方法1:根据访问日志…
场景:当公司将有文件要自动将ubuntu系统的文件要上传到windows上面,或者windows上的文件要下载到ubuntu上面,尤其是像什么日志啊,编译结果啊,测试结果啊等等,做个备份或者做分析处理等. 下面是shell脚本模板: !/bin/bash #上传文件 ftp -v  -niv  <<EOF                                  #EOF附件没有空格,不然会报错 open  192.168.1.1                            …
最近有个功能,是需要从在liunx上拉取svn地址,并创建一个新文件进行提交,shell脚本如下 #!/bin/bash echo "Hello World !" myFile="wms" #这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -d "/uitest"]; then svn checkout http://svn.egomsl.com/svn/repos/autotest.globalegrow.com…
编写Shell过程中注意事项: 开头加解释器:#!/bin/bash 语法缩进,使用四个空格:多加注释说明. 命名建议规则:变量名大写.局部变量小写,函数名小写,名字体现出实际作用. 默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域. 有两个命令能帮助我调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程. 写脚本一定先测试再到生产上. 1.获取随机字符串或数字 获取随机8位字符串: 方法1: # echo $RANDOM |md5sum |cut…
演示效果: 1.一级菜单 2.二级菜单 3.执行操作 脚本参考: #!/bin/bash #author lic(oldboy linux student) #date 1304 DISK_NO="/dev/sda1" NGINX_DIR="/usr/local/tdoa/nginx/sbin/nginx" MYSQL_DIR="/usr/local/tdoa/mysql/bin/mysqld_safe" SERVER1="WEB&qu…
前两天由于要查一个数据库的binlog日志,经常用命令写比较麻烦,想着写一个简单的脚本,自动去刷一下数据库的binlog日志,就直接在windows上面写了,然后拷贝到linux中去运行,其实很简单的脚本,具体如下: #!/bin/bash #flush mysql logs every day BASEDIR="/usr/local/mysql" echo $BASEDIR BIN="$BASEDIR/bin" echo $BIN MYSQL="$BIN…
转载请注明出处:http://blog.csdn.net/hellomxj1/ 功能:在linux系统上实现wifi STA与AP功能的转换 实现成果:1.加入wifipassword账户add_wifi_account. 2.wifi两种模式启动的脚本wifi_start: 3.帮助信息README_WIFI_START: 详细实现步骤例如以下: 加入wifipassword账户add_wifi_account 1 #!/bin/sh 2 3 echo "Add Wifi Account ..…
一bash的条件测试 判断某需求是否满足,需要由测试机制来实现.专用的测试表达式需要由测试命令辅助完成测试过程. 评估布尔声明,以便用在条件性执行中.若真,则返回0:若假,则返回1. 测试命令:• test EXPRESSION• [ EXPRESSION ]• [[ EXPRESSION ]]和上面两个不同的在于支持正则表达式注意:EXPRESSION前后必须有空白字符 (一)使用test命令 [root@centos7 ~]# type test test is a shell builti…