linux脚本

linux执行sh脚本文件命令

心不动则不痛 提交于 2019-12-22 19:02:28
linux执行sh脚本文件命令 很多时候需要多个命令来完成一项工作,而这个工作又常常是重复的,这个时候我们自然会想到将这些命令写成sh脚本,下次执行下这个脚本一切就都搞定了,下面就是发布代码的一个脚本示例。 编写脚本 touch updateapp.sh vim updateapp.sh #切换目录 cd /home/ubuntu/mobile #更新代码 git pull origin master #重启apache服务 sudo service apache2 restart 执行脚本 管理员身份 sudo su yourpassword 执行命令 ./updateapp.sh Note: 赋予脚本读写执行权限,直接这样是不好的大家不要模仿 chmod 777 updateapp.sh putty的快捷执行 新建一个putty的快捷方式,然后修改属性,之后哦双击就能免登陆进入系统 E:\ChromeDown\putty.exe -pw mypassword user_name@123.207.88.150 来源: https://www.cnblogs.com/wancy86/p/linux_sh.html

大数据学习——shell编程

此生再无相见时 提交于 2019-12-22 13:05:32
2.1 基本格式 代码写在普通文本文件中,通常以 .sh 为后缀名 vi hello.sh #!/bin/bash ## 表示用哪一种 shell 解析器来解析执行我们的这个脚本程序 echo "hello world" ## 注释也可以写在这里 ## 这是一行注释 执行脚本 sh hello.sh 或给脚本添加 x 权限,直接执行 chmod 755 hello.sh ./hello.sh 2.2 基本语法 2.2.1 系统变量 Linux Shell 中的变量分为“系统变量”和“用户自定义变量” 可以通过 set 命令查看系统变量 系统变量: $HOME 、 $PWD 、 $SHELL 、 $USER 等等 2.2.2 自定义变量 1 、语法 变量=值 (例如 STR=abc ) 等号两侧不能有空格 变量名称一般习惯为大写 使用变量: $arg 双引号和单引号有区别, 双引号仅将空格脱意, 单引号会将变量引用比如 $param 脱意 2 、示例 STR="hello world" A=9 echo $A echo $STR 如果想打印 hello worlds is greater 怎么办? echo $STRs is greate 行吗? 不行,正确写法是: echo ${ STR}s is greate unset A 撤销变量 A readonly B=2 声明静态的变量

shell脚本变量

和自甴很熟 提交于 2019-12-22 09:50:13
既然是变量,自然分变量名和变量值,在使用的时候一定要注意哪些地方需要用变量名,哪些地方需要用变量的值。 自定义变量 shell变量不需要声明,随用随定义,给变量赋值的时候要注意 shell是空格敏感的 使用 {} 确定变量的范围是个好习惯 $NEWENV =123 #等号前面有空格,不行 NEWENV: command not found $NEWENV= 123 #等号后面有空格,不行 123: command not found $NEWENV=123 #RIGHT $BRACE=123 $echo $BRACEEEE $echo ${BRACE}EEE 123EEE 位置变量 指shell脚本的命令参数,shell script将执行的命令放在存储在 0 ,命令之后的参数依次存储在 1 , 2 ...,可以通过取值(eg $0 )利用这些变量,就可以编写带参数的脚本,当参数值大于9时,需要使用{}括起来,否则 $10 就相当于在 $1 之后加了字符 0 。注意,定义函数的参数列表也使用 $1 , $2 etc,注意与命令行的参数相区分,函数内的 $1 etc是用来传参的,但 $0 还是保持原来的含义 $cat ./shell.sh #!/bin/bash echo "$10" echo "${10}" $./*.sh 11 22 33 44 55 66 77 88 99 00

jenkins 构建 jmeter脚本,动态参数设置、Jenkins读取HTML报告(详细完整流程)

爷,独闯天下 提交于 2019-12-21 15:04:29
文章目录 1.编写脚本(动态参数) 1.1 创建脚本 1.2 linux中测试 .jmx脚本 (jmeter.sh 启动) 2.编写.sh脚本,方便Jenkins调用 2.1. 在 /usr/local/script 目录下创建脚本: run_jmeter.sh 2.2.2 linux中测试 .jmx脚本 (run_jmeter.sh 启动) 3. Jenkins添加任务,动态构建 3.1 创建GitHub项目 存放jmeter脚本 3.2 Jenkins新增任务(文章底部有完整截图) 3.2.1 将代码拉取到对应服务器 3.2.2 选择shell构建任务 4. 最终成果 1.编写脚本(动态参数) 1.1 创建脚本 关于接口的具体信息无所谓, 重点 是线程数、循环次数,需要配置成动态参数的: ${__P(threadNum,1)} , ${__P(cycles,1)} ,这样就相当于默认都是1,但是可接受参数,如下 解释: 赋值:-J 和 -G - 格式:-J变量名=值 -G变量名=值 - 相同之处:设置jmeter属性,例如线程数、循环次数、ramp up-time等 - 不同之处:-J是设置本地jmeter属性;-G是设置server的jmeter属性(只有设置了远程机,开启了远程服务,才需要用到-G) 1.2 linux中测试 .jmx脚本 (jmeter.sh 启动) 在

keepalived+nginx+lnmp 网站架构

蓝咒 提交于 2019-12-21 13:43:05
《网站架构演变技术研究》 项目实施手册 2019年8月2日 第一章 : 实验环境确认 4 1.1-1.系统版本 4 1.1-2.内核参数 4 1.1-3.主机网络参数设置 4 1-1-4 .项目拓扑图 5 第二章 : 部署后端web服务 6 2-1 .安装Nginx服务端 6 2-1-1 .安装nginx 依赖包 6 2-1-3.修改Nginx配置文件 7 2-1-4.创建nginx启动文件软链接 8 2-1-5.启动nginx,开机自启 8 2-1-6. 查询端口80状况 8 2-1-7.安装其他web服务器 8 2-2 .部署PHP环境 9 2-2-1 .安装PHP 软件 9 2-2-3. 查询端口9000状况 9 2-2-3.安装其他web服务器 9 第三章 : 部署NFS服务 9 3-1 .安装NFS 服务器端 10 3.1-1 .nfs软件安装 10 3-1-2 .创建共享目录 10 3-1-3. 修改/etc/exports配置文件 10 3-1-4. 启动服务,开机自启 10 3-1-5. 本地挂载测试 10 3-2. 部署web客户端挂载nfs存储 11 3-2-1.配置web服务器 11 3-2-2.手动挂载-临时挂载 11 3-2-3. 配置开机自动挂载-永久挂载 11 3-2-4. 安装其他 web服务器 12 3-3. 部署rsync备份服务器 12 3-3

开源安全工具分享

三世轮回 提交于 2019-12-21 02:00:16
子域名枚举扫描器或爆破工具 https://github.com/lijiejie/subDomainsBrute(lijiejie开发的一款使用广泛的子域名爆破枚举工具) https://github.com/ring04h/wydomain (猪猪侠开发的一款域名收集全面,精准的子域名枚举工具) https://github.com/le4f/dnsmaper (子域名枚举爆破工具以及地图位置标记) https://github.com/0xbug/orangescan(提供web界面的在线子域名信息收集工具) https://github.com/TheRook/subbrute(高效精准的子域名爆破工具,同时也是扫描器中最常用的子域名API库) https://github.com/We5ter/GSDF (基于谷歌SSL透明证书的子域名查询 脚本 ) https://github.com/mandatoryprogrammer/cloudflare_enum (使用CloudFlare进行子域名枚举的 脚本 ) https://github.com/guelfoweb/knock(Knock子域名获取,可用于查找子域名接管漏洞) https://github.com/exp-db/PythonPool/tree/master/Tools/DomainSeeker

linux环境进程开机自检脚本

这一生的挚爱 提交于 2019-12-21 00:09:51
Linux下shell脚本监控Tomcat的状态并实现自动启动 最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,就没有考虑用Java代码写了,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤。 1编写Shell脚本monitor.sh: 此脚本代码参考于 张小凡vip 的博客 https://blog.csdn.net/zzq900503/article/details/50723191 #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # author:EagleHao # date:2018-04-08 # DEFINE # 获取tomcat进程ID(其中[grep -w 'tomcat']代码中的tomcat需要替换为你的tomcat文件夹名) TomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}') # tomcat启动程序(这里注意tomcat实际安装的路径) StartTomcat=/usr/local/tomcat/bin/startup.sh TomcatCache=/usr/local

Linux定时任务系统 Cron

穿精又带淫゛_ 提交于 2019-12-20 21:25:13
运行计划任务时: service crond restart 提示: crond: unrecognized service 安装计划任务: yum -y install vixie-cron 另外附计划任务的一些使用方法 http://bbs.fengyn.com/read-htm-tid-3813-keyword-%BC%C6%BB%AE%C8%CE%CE%F1.html cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:       /sbin/service crond start //启动服务     /sbin/service crond stop //关闭服务     /sbin/service crond restart //重启服务     /sbin/service crond reload //重新载入配置         你也可以将这个服务在系统启动的时候自动启动:       在/etc/rc.d/rc.local这个脚本的末尾加上:     /sbin/service crond start       现在Cron这个服务已经在进程里面了,我们就可以用这个服务了, Cron服务提供以下几种接口供大家使用:         1

linux 自启动设置 的shell脚本

浪尽此生 提交于 2019-12-20 11:39:35
//通过shell创建一个连接到Test.sh 的自启动 #!/bin/bash echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Test\nType=Application\nExec=Test.sh --autostart\nOnlyShowIn=MATE\nX-MATE-Autostart-Phase=Application\nTerminal=false\nCondition=MATE\nX-MATE-Autostart-Notify=true\n ">/etc/xdg/autostart/Test.desktop chmod 666 /etc/xdg/autostart/Test.desktop nExec=Test.sh 这里是入口文件可以放在/usr/bin 或者设置绝对路径 运行脚本后你的脚本就会在登录系统后自动后台运行了。 来源: CSDN 作者: Xuehqqqq 链接: https://blog.csdn.net/qq_35266849/article/details/103627823

Linux Bash Shell快速入门 (三)

混江龙づ霸主 提交于 2019-12-20 10:20:43
for for 循环结构与 C 语言中有所不同,在 BASH 中 for 循环的基本结构是: for $var in do statments done 其中 $var 是循环控制变量, 是 $var 需要遍历的一个集合,do/done 对包含了循环体,相当于 C 语言中的一对大括号。 另外如果do 和 for 被写在同一行,必须在 do 前面加上 ";"。 如: for $var in ; do 。 下面是一个运用 for 进行循环的例子: #!/bin/bash for day in Sun Mon Tue Wed Thu Fri Sat do echo $day done # 如果列表被包含在一对双引号中,则被认为是一个元素 for day in "Sun Mon Tue Wed Thu Fri Sat" do echo $day done exit 0 注意上面的例子中,在 for 所在那行的变量 day 是没有加 "$" 符号的, 而在循环体内,echo 所在行变量 $day 是必须加上 "$" 符号的。 另外如果写成 for day 而没有后面的 in 部分, 则 day 将取遍命令行的所有参数。如这个程序: #!/bin/bash for param do echo $param done exit 0 上面这个程序将列出所有命令行参数。for