linux脚本

Spring boot linux 部署脚本

匿名 (未验证) 提交于 2019-12-02 21:59:42
#!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAME=cat-web-0.0.1-SNAPSHOT.jar #使用说明,用来提示输入参数 usage() { echo "Usage: sh 执行脚本.sh [start|stop|restart|status]" exit 1 } #检查程序是否在运行 is_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #如果不存在返回1,存在返回0 if [ -z "${pid}" ]; then return 1 else return 0 fi } #启动方法 start(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is already running. pid=${pid} ." else nohup java -jar $APP_NAME >> catalina.out 2>&1 & fi } #停止方法 stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid else echo "${APP_NAME} is not running" fi } #输出运行状态 status(){ is_exist

Linux 中执行Shell 脚本的方式

匿名 (未验证) 提交于 2019-12-02 21:59:42
Shell 脚本的执行方式通常有如下三种: (1)bash script-name 或者 sh script-name; 这是当脚本文件本身 没有可执行权限 时常使用的方法,或者 脚本文件开头没有指定解释器时需要使用的方法 。 (2)path/script-name 或者 ./script-name; 需要设置文件具有可执行权限,并在文件开头设置脚本解释器。 (3)source script-name 或者 . script-name。 在当前shell中执行该文件,当前shell可以访问该文件设置的变量。 文章来源: Linux 中执行Shell 脚本的方式

(28) linux中Shell 基本知识

匿名 (未验证) 提交于 2019-12-02 21:59:42
一、脚本概述 1.Shell脚本是一种解释型语言 二、脚本基础知识 #!/bin/bash [root@desktop8 mnt]# sh hello.sh 用sh打开脚本 [root@desktop8 mnt]# 添加执行权限 [root@desktop8 mnt]# /mnt/hello.sh 用脚本本身的shell打开 + echo hello everyone 命令行 运行结果 /etc/vimrc 四、基本脚本命令 patch 指定分隔符 ## 指定截取每行第1列 ## 指定截取每行第3个字符 sort -n 纯数字排序 倒序 sort -u sort -o 输出到指定文件中 ## 指定分割符 sort -k 指定要排序的列 显示唯一的行 ## 显示重复的行 ## 每行显示的次数 注意:配合sort命令使用 &&和|| 注意:当执行脚本并没有加IP地址时,没有报错,不合理,需改善 test 字符型数据 [ "$a" = "$b" ] [ ! "$a" = "$b" ] 整型数据 是否$a <= $b ##$a是否等于$b,并且$a大于100 文件 建立文件,查看节点,创建硬链接 ##是否是目录 tr find -type ##查找不是该组的文件 ##匹配 u=6、g=4、o=4 的文件 u=6或g=6或o=6 的文件 文章来源: (28) linux中Shell 基本知识

linux脚本运行错误:$&#039;ls\\r&#039;: command not found

匿名 (未验证) 提交于 2019-12-02 21:59:42
原因在于 windows 下的换行符是 \r\n,而 linux 下的换行符是 \n 解决方案: 首先运行如下命令安装 dos2unix: yum install dos2unix -y 接下来运行如下命令进行转换工作: dos2unix file.sh 完成转换后便可正常执行脚本。 文章来源: linux脚本运行错误:$'ls\\r': command not found

vrrp_script不起作用解决方案

匿名 (未验证) 提交于 2019-12-02 21:59:42
我这里主要是因为windows转码造成的:将可执行的check_nginx.sh检测脚本内容复制到U盘,然后插入内网windows,将内容用nodepad++打开,复制,粘贴到服务器的check_nginx.sh里面,关闭nginx无法触发脚本,VIP也不漂移,手动执行check_nginx.sh,终于报错了: 在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。 我这里的解决方案:直接将可执行的check_nginx.sh上传到服务器,并赋予执行权限755,重启keepalived和相应的服务,确保正常运行再进行重测。 还有别的一些方案,详情自行搜索――在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。 文章来源: vrrp_script不起作用解决方案

linux:循环

匿名 (未验证) 提交于 2019-12-02 21:59:42
for循环 2019年10月28日 9:18 1. 利用文件生成变量用到脚本 批量修改文件 批量修改文件 99乘法表 其中用echo -e "${j}x${i}=$[i*j]\t\c"替换 for的第二种语法生成的99乘法表 把当前脚本拷贝到王用户下对应的目录下 while循环: 99乘法表: 监视服务器是否正常不正常重启 测试网络是否连接 加个-m1看有没有数据传输 基数相加 不用脚本用命令基数偶数相加 用while循环写的脚本: while与until相反一个为真循环一个不是真循环 break:提前结束循环 shift: 用它批量创建用户如下: 删除用户 取磁盘利用率: 拒绝访问扔到防火墙 取出id :btmp-34 查看访问10次的ID扔到防火墙里: 生成btmp-34文件 清掉防火墙跟查看列表 防止***的脚本:此文件跟脚本在同一目录下 同目录中有个ss.log文件 While read 用脚本创建用户与密码: 把用户名跟密码写入user.txt中运行脚本创建 用while做的菜单 select:用select生成的菜单脚本 select默认自循环要配合break退出 来源:51CTO 作者: wx5d85ff7721375 链接:https://blog.51cto.com/14554319/2447412

Linux中创建自己的MOTD

匿名 (未验证) 提交于 2019-12-02 21:56:30
  motd:是英文缩写message of the day 。译文是:每日提示信息,问候报文。那你为什么要用MOTD?其实目的很简单,是提示进入系统的用户注意事项,或提示系统运行的概要信息让用户更好的了解系统。在Linux系统要实现自己的MOTD,首先需要认识/etc/motd文件。     在linux世界中“一切皆文件”,/etc/motd也是众多文件之一;那它有什么特别之处?/etc/motd文件作用是:每次系统登陆时,通过终端展示一些消息给登陆用户,如向用户提示欢迎信息,或提示使用系统的注意事项等等信息像公告板一样为所有用户提示信息。然而在/etc/motd文件只能添加静态信息,而如果你想在用户登录时对提供动态的系统信息,如IP地址、系统负载等时,/etc/motd就无能为力了。但在/etc/motd显示静态信息内容时,可以对静态文字增加颜色,以达到对重点信息内容的突出显示。   此外,作为ssh访问系统用户必须配置/etc/ssh/sshd_config文件。 1 vim /etc/ssh/sshd_config 2 …… 3 PrintMotd yes         #远程用户登录时是否打印/etc/motd文件信息 4 ……   2)如何显示静态MOTD 1 $ env | grep TERM 2 $ set | grep TERM //或用set <ESC>[

【Linux】shell脚本参数传递

匿名 (未验证) 提交于 2019-12-02 21:56:30
  这里介绍参数传递的两种方式。 方式一:$0,$1,$2... 采用$0,$1,$2..等方式获取脚本命令行传入的参数 $0:脚本名称 $1....: 参数 例子: #编写一个shell $ vim test . sh echo "参数0参数为:" $0 echo "参数1参数为:" $1 echo "参数2参数为:" $2 #执行shell传递两个参数 $ bash test . sh 我是参数 1 我是参数 2 参数 0 参数为: test . sh 参数 1 参数为:我是参数 1 参数 2 参数为:我是参数 2 方式二:getopts getopts引用的三个环境变量:   OPTARG : 上一个由getopts内置命令处理的选项参数的值, option argument(存放选项参数),当选项需要选项参数时,getopts 命令就将其置于变量 OPTARG 中   OPTIND : 下一个由getopts内置命令处理的参数的序号,option index,每次调用脚本它都会被初始值为1,会逐次递增。   OPTERR : 如果设为1,bash会显示getopts的错误。设为0,不显示getopts的错误。 语法格式:getopts [option[:]] [DESCPRITION] VARIABLE option:表示为某个脚本可以使用的选项 ":":如果某个选项

在linux写一个shell脚本用maven git自动更新代码并且打包部署

匿名 (未验证) 提交于 2019-12-02 21:56:30
服务器上必须安装了git maven jdk 并且配置好环境变量 实际服务器中可能运行着多个Java进程,所以重新部署的时候需要先停止原来的java进程,写一个按照名称杀死进程的脚本 kill.sh #!/bin/sh function PidFind() { PIDCOUNT=`ps -ef | grep $1 | grep -v "grep" | grep -v $0 | awk '{print $2}' | wc -l`; if [ ${PIDCOUNT} -gt 1 ] ; then echo "There are too many process contains name[ $1]" elif [ ${PIDCOUNT} -le 0 ] ; then echo "No such process[ $1]!" else PID=`ps -ef | grep $1 | grep -v "grep" | grep -v ".sh" | awk '{print $2}'` ; echo "Find the PID of this progress!--- process: $1 PID=[ ${PID}] "; echo "Kill the process $1 ..."; kill -9 ${PID}; echo "kill -9 ${PID} $1 done!"; fi }

linux 将自己的服务添加到系统service服务

匿名 (未验证) 提交于 2019-12-02 21:56:30
ԭ linux添加service服务,设置自启 转载:2018年10月16日 15:02:00 weixin_34174132 阅读数:2 举个栗子:idea的注册服务 位置及文件:/etc/init.d/idea idea #!/bin/sh # chkconfig: 2345 80 90 # description: idea register server case "$1" in esac # chkconfig ,# description不要少,设置自启需要。 服务启动:service idea start 服务关闭:service idea shutdown 设置自启:chkconfig idea on 关闭自启:chkconfig idea off linux 将自己的服务添加到系统service服务 2018年07月18日 10:39:00 水车306 阅读数 2752 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_22889431/article/details/85275839 linux 将自己的服务添加到系统service服务 前言 我们在linux上要启动一个程序得时候, 往往都是要写一堆路径, 找到要启动得服务程序, 再用 ./**