#!/bin/sh #Auto Make install MFS Files # cat <<EOF ++++++++++++++++Welcome To Use Auto Install MFS Scripts ++++++++++++++++++ +++++++++++++++++++++This MFS Install Version 1.6.27++++++++++++++++++++++ +++++++++++++++++++++++++2013-12-04 Author wugk…
shell脚本自动化部署 !/bin/bash #export PATH=$PATH:/export/maven/bin run_flag_dir="/data0/shell/deploy_workspace/Test" if [ ! -d "$run_flag_dir" ]; then mkdir -p "$run_flag_dir" fi #判断是否正在部署,如果是则退出 if [ -f "$run_flag_dir/.run&qu…
由于公司技术部团队较小,没有专门的运维团队,所以运维工作技术部承包了. 一.纯人工部署是这样的: 1. 本地打包:一般 maven clean package 2. 借助xftp上传到服务器对应目录 3. 借助 xshell连接到服务器 4.开始部署: a.找到程序运行的进程id:ps -ef | grep java b.杀死进程: kill -9 pid c.启动新的jar包: java -jar  包名  --spring.profiles.active=test & 二.使用shell脚本…
在Java开发项目时经常要把正在开发的项目发布到测试服务器中去测试,一般的话是要把项目先打成war包,然后把war包发布到服务器中,关闭服务器, 最后重新启动服务器,虽然这过程不是很繁琐,但如果是多个工程都要发布的时候,发布的过程就会比较繁琐,所以福音来了…… 通过 编写shell 脚本来完成这些操作,只要执行一个shell脚本,项目就可以自动发布到服务器了,用起来还是比较方便的. 第一步:在linux中安装svn.(这个可以参照另外一篇博客:http://simplelife.blog.51c…
#! /bin/ ] then echo "#### 参数有误,\$1:构建号必填" exit fi cd /root/workspace/xinya_erp/xinya_web git checkout developer git fetch --all git reset --hard origin/master git pull docker rm -f xinyar_erp_web_test cd /root/workspace/xinya_erp/ mvn install c…
部署nginx反向代理三个web服务,调度算法使用加权轮询(由于物理原因只开启两台服务器) AutoNginxNfsService.sh #/bin/bash systemctl status nginx )) then yum install -y nginx )) then #echo 'Yes!' systemctl start nginx )) then echo "Congratulations!! Nginx start OK!!" else echo "Sorr…
#!/bin/bash # 检查操作系统版本,该脚本只能运行在 Centos 7.x 系统上 cat /etc/redhat-release |grep -i centos |grep '7.[[:digit:]]' >/dev/null if [[ $? != 0 ]] then echo -e "不支持的操作系统,该脚本只适用于CentOS 7.x x86_64 操作系统" exit 1 fi # 配置无人值守的安装,定义安装过程中需要用到的一些信息 DBPassword=a…
最近工作需要用到对硬盘进行shell脚本自动化分区和mount的操作,google了一些资料,下面做个总结. 如果硬盘没有进行分区(逻辑分区或者扩展分区,关于两者概念,自行google),我们将无法将使用该硬盘来进行读写.我们要使用一块硬盘需要进行下面三步: 将该硬盘进行分区: 对分区进行格式化: 将分区mount到系统某个目录,便可以访问. 本笔记会着重讲一下第一步中涉及的fdisk分区功能以及如何来使用shell进行自动化处理,过程也会涉及后面两步操作的简单说明. fdisk对硬盘进行分区…
Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者. 执行脚本,等脚本执行完成,即可使用mysql -u root -p点击回车即可进入. 2.MySQL及自动补全工具一键部署脚本(使用source或./执行脚本!) #!/bin/bash echo -e "----正在验证当前为仅主机还是NAT模式----" ping -c 2 -w…
如果一个系统管理员花费大量的时间解决问题以及做重复的工作,你就应该怀疑他这么做是否正确.一个高效的系统管理员应该制定一个计划使得其尽量花费少的时间去做重复的工作.因此尽管看起来他没有做很多的工作,但那是因为 shell 脚本帮助他完成了大部分任务,这也就是我们将要探讨的东西. 什么是 shell 脚本? 简单的说,shell 脚本就是一个由 shell 一步一步执行的程序,而 shell 是在 Linux 内核和最终用户之间提供接口的另一个程序. 默认情况下,RHEL 7 中用户使用的 shel…
https://yq.aliyun.com/articles/685931 1.官网下载war包:jenkins本质上就是一个web应用,直接下载jenkins的war包通过tomcat运行即可.http://mirrors.jenkins.io/war-stable/2.150.1/2.将jenkins.war放置在webapps目录下,修改几个参数配置文件编辑conf/tomcat-users.xml 配置tomcat manager用户信息:jenkins自动部署war包时需要到这些配置.…
最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: centos 7.0 64位 gitlab:v2.9.0 git:2.9 jenkins .git plugin.GitLab Plugin.Dynamic Parameter Plug-in等 ansible:2.1.0.0 各工具职能: 1.gitlab做版本管理 2.jenkins根据指定参数,分别执…
公司项目使用了SpringBoot.开发的应用需要自动上传到服务器.虽然目前对热部署还没完全掌握.先使用shell简化一下部署吧. # 上传密钥 sshLoginKey=/f/MyFile/root.key # 项目在本机的目录 MyProject=/d/MyProject/comment # 远程主机上的路径 RemoteHost=root@domainName.com RemotePath=$RemoteHost:/data/ if [ -f "$sshLoginKey" -a -…
日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解.由于刚开始学习写脚本,什么 puppt这样的高级工具还不会使用,就简单的利用shell脚本.ssh-keygen.expect来实现.希望能给各位带来帮助,不足之处还请留言 指出,大家共同进步. 首先,需要检查expect是否安装:rpm -qa|grep expect 然后,在操作机上创建公钥:ssh-key…
1.编写脚本自动部署反向代理.web.nfs: 要求: I.部署nginx反向代理三个web服务,调度算法使用加权轮询: 反向代理服务器脚本配置脚本 #!/bin/bash #安装eple和nginx function install(){ rpm -qa | grep epel &> /dev/null if [ $? != 0 ] then yum install epel -y fi rpm -qa | grep nginx &> /dev/null if [ $? !=…
一.shell脚本部署nginx反向代理和三个web服务 1 对反向代理服务器进行配置 #!/bin/bash #修改用户交互页面 用户输入参数执行相应的参数 #安装epel扩展包和nginx function ng_yum_install(){ yum install epel-release -y yum install nginx -y yum install rpcbind nfs-utils -y } #nginx init function #nginx status #nginx…
#!bin/bash#功能:自动化部署 varnish 源码包软件,运行脚本前,需提前下载 varnish-5.0.0.tar.gz#作者:liusingbonyum -y install gcc readline-devel pcre-develuseradd -s /sbin/nologin varnishtar -xf varnish-5.0.0.tar.gzcd varnish-5.0.0#使用 configure,make,make install 源码安装软件包./configure…
1.在linux操作系统上手动备份数据库 mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定义要生成的sql名称) 2.在linux操作系统上手动还原数据库 mysql -uroot -p密码 < 数据库.sql(如果不是在当前目录下要进行添加具体路径)我是在当前目录下存储运行的 记得要查生成的sql文件,可以进行更改的(不建议进行修改库名,但是大多数可以在表中进行造数据) 3.在linux操…
一.Shell 变量 1.1 定义变量 定义变量时,变量名不加美元符号($),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头. 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字). 除了显式地直接赋值,还可以用语句给变量赋值,如: #这行也可以使用…
背景 通过shell判断是否存在补丁更新,进行自动化的部署 代码 #!/bin/sh #Edit:何彦霆 #version: beta #执行环境初始化 source /hxspace/production/bin/setenv.sh #变量说明 #$-外部提供,日期补丁(格式要求BD_2017--) #Paths_Way-补丁存放目录 #Tomcat_Way-tomcat中间件目录 #Tomcat_Start_Way-tomcat中间件启动文件位置(加载so存在该限制,不能直接使用工程下的启动…
[前言] 现在我们的项目发布(从git上拉代码部署到Linux上)是通过脚本来完成,生产和测试环境都是运维在控制,开发联调环境由开发来负责,之前开发环境每次部署都是先在本地打好jar包然后传到服务器上: 每次发布都打包上传,非常的麻烦:于是自己仿照测试环境的脚本改造一下在开发环境下也可以自动部署. [自动化脚本]        一.基本环境(基本环境东西若没有自行百度) 1.Linux操作系统:CentOS 6.8 2.JDK版本:1.8.0_144 3.Maven版本:3.5.2 4.Git版…
在Linux系统中,可以使用fdisk 对硬盘进行分区,但是要手动执行很多命令,这样使用有很麻烦,现在记一个用fdisk 的脚本自动执行. #make partition dd count= fdisk /dev/mmcblk1 << EOF n p +100M n p t c a w EOF 我的硬盘的话是/dev/mmcbl1k1 先对他进行擦除分区表, 然后用fdisk 命令对他进行重新分区. 这里有个小命令就是  << EOF 这个命令是让即将跳到别的shell 终端的命令…
看到有个大佬写了个很实用的脚本,于是这里做了转载 #!/bin/bash #进入软件的制定安装目录 echo "进入目录/usr/local,下载pgsql文件" cd /usr/local #判断是否有postgre版本的安装包 if [ -d post* ] then rm -rf /usr/local/post* echo "安装包删除成功" fi #开始下载pgsql版本10.5并解压 if [ ! -d /usr/local/src ] then mkdi…
一键部署nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 #!/…
首先所需软件包拖进目录,然后编辑一个脚本,复制一下脚本,source执行一下即可 #!/bin/bash echo -e "\033[31m =====正在验证当前为仅主机还是NAT模式===== \033[0m" ping -c1 -W1 www.baidu.com &> /dev/null if [ $? -eq 0 ];then echo -e "\033[31m 检测当前为NAT模式,为您配置在线yum源 \033[0m" mkdir -p /…
#!/bin/bash source /etc/profile cd /mnt/workspace/weifeng-ui-pre/ npm i && npm run build rm -rf /mnt/workspace/weifeng-ui-pre/dockerfile/build cd /mnt/workspace/weifeng-ui-pre/dockerfile mv ../build . sudo docker build -t pre-weifeng-ui -f Dockerf…
#!/bin/bash systemctl status nginx var=$? ] then yum install epel-release -y ] then echo "epel库安装失败,无可用nginx源" else yum install nginx -y ] then systemctl start nginx ] then echo "nginx start ok" else echo "nginx start fail" f…
#!/bin/bash#auto make install LAMP#by authors yehailun #arp和apr-util依赖APR_FILES=apr-1.6.2.tar.gz APR_FILES_DIR=/usr/local/src/apr-1.6.2APR_URL=http://mirrors.ustc.edu.cn/apache/aprAPR_PREFIX=/usr/local/apr APR_UTIL_FILES=apr-util-1.6.0.tar.gzAPR_UTIL…
环境 两个调度器dr1.dr2,两台真实机rs1.rs2.两台真实机安装httpd,并编辑主页内容用于验证 vip="192.168.132.250"dr1="192.168.132.120"dr2="192.168.132.121"rs1="192.168.132.131"rs2="192.168.132.134" 配置 #/bin/bash vip="192.168.132.250"…
在实际项目中,我们经常用到需要自动化部署软件的情况,这种情况下,我们就不能人为地在命令行下敲击命令了,一切都需要通过shell脚本自动化完成.所谓自动化完成,其实也就是通过写shell程序,模拟人为敲击linux指令,这样一来,所有的指令一气呵成,方便自动化部署. 我们以一个简单的例子进行说明: 需求:通过一台服务器向其他多台服务器安装jdk,期间自动配置ssh免登录,并且其他多台服务器下载该台服务器上面的jdk,下载完成后,解压并进行环境变量的配置. 代码: boot.sh: #!/bin/b…