Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start---------------------# #封装shutdown函数,关闭tomcat服务 #封装kill函数,强制关闭tomcat的进程 # 调用关闭函数与项目备份 # 使用expect , 采用scp 免输入密码,远程copy ROOT.war 包 # tomcat启动与现实启动日志 #--------------…
Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start---------------------# #封装shutdown函数,关闭tomcat服务 #封装kill函数,强制关闭tomcat的进程 # 调用关闭函数与项目备份 # 使用expect , 采用scp 免输入密码,远程copy ROOT.war 包 # tomcat启动与现实启动日志 #--------------…
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…
k8s-jenkins持续发布tomcat项目 一.需求 这个实验前期后后搞了很久(公司经常插一些别的事过来,然后自己比较懒,再加上自己知识不够扎实).二进制部署完k8s集群就开始做jenkins持续集成了. 参考这个语雀的部署链接:https://www.yuque.com/duduniao/k8s/gp8n04[3. 交付Jenkins到K8S 开始到maven结束]. 部署过程中遇到很多问题 :jenkins镜像要从版本2.190.3换为blueocean(pipeline用),然后git…
最近工作需要用到对硬盘进行shell脚本自动化分区和mount的操作,google了一些资料,下面做个总结. 如果硬盘没有进行分区(逻辑分区或者扩展分区,关于两者概念,自行google),我们将无法将使用该硬盘来进行读写.我们要使用一块硬盘需要进行下面三步: 将该硬盘进行分区: 对分区进行格式化: 将分区mount到系统某个目录,便可以访问. 本笔记会着重讲一下第一步中涉及的fdisk分区功能以及如何来使用shell进行自动化处理,过程也会涉及后面两步操作的简单说明. fdisk对硬盘进行分区…
由于公司技术部团队较小,没有专门的运维团队,所以运维工作技术部承包了. 一.纯人工部署是这样的: 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…
这里先准备一个配置文件,用于保存svn地址.目的路径.用户名跟密码 配置文件名问:toolConfig.properties #svn地址 svnAddress=https://192.168.1.253/[yourPath] #本地路径(目的地址) localDir=E:\shelltest #svn用户名 userName=jack #svn密码 password=123456 对应shell脚本 #!/bin/bash source ./toolConfig.properties svn_…
如果一个系统管理员花费大量的时间解决问题以及做重复的工作,你就应该怀疑他这么做是否正确.一个高效的系统管理员应该制定一个计划使得其尽量花费少的时间去做重复的工作.因此尽管看起来他没有做很多的工作,但那是因为 shell 脚本帮助他完成了大部分任务,这也就是我们将要探讨的东西. 什么是 shell 脚本? 简单的说,shell 脚本就是一个由 shell 一步一步执行的程序,而 shell 是在 Linux 内核和最终用户之间提供接口的另一个程序. 默认情况下,RHEL 7 中用户使用的 shel…
一.项目文件为一个 jar 包,无须解压 重启 Tomcat 项目 #!/bin/bash echo "kill hot-jdt" kill -9 `ps -ef|grep hot-jdt|grep -v grep|awk '{print $2}'` sleep 3s echo "startup tomcat_admin" nohup java -jar /usr/local/hot_jdt/hot-jdt.jar > /usr/local/hot_jdt/l…
1 Shell脚本案例 删除超过30天的日志文件 #!/bin/bash log_path=/mnt/software/apache-tomcat-.M22/logs d=`date +%Y-%m-%d` d90=`date -d'30 day ago' +%Y-%m-%d` #cd ${log_path} && cp catalina.out $log_path/cron/catalina.out.$d.log #echo > catalina.out rm -rf $log_pa…
1.在linux操作系统上手动备份数据库 mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定义要生成的sql名称) 2.在linux操作系统上手动还原数据库 mysql -uroot -p密码 < 数据库.sql(如果不是在当前目录下要进行添加具体路径)我是在当前目录下存储运行的 记得要查生成的sql文件,可以进行更改的(不建议进行修改库名,但是大多数可以在表中进行造数据) 3.在linux操…
一切从0开始,我也是个小白: 1.检查你的系统是不是高于3.8的内核,如果没有请升级CentOS7或者Ubuntu 14 #uname -a 2.CentOS7下安装docker #yum -y install docker 3.查看docker版本 #docker version 4.启动docker服务 #docker service start 5.查看本地镜像 #docker images 6.如果没有本地镜像,可以下载一个centos7的镜像来作为基础运行环境 #docker pull…
最近在工作中频繁的操作多个tomcat,顺便就简单研究了一下 一. 简介 Shell 是一种与操作系统直接交互的程序,Unix系统中叫Bourne Shell,包括以下几种 Sh—Bourne Shell Csh—C Shell Ksh—Korn Shell Tcsh—enhanced C Shell Bash—GNU Bourne Again Shell Zsh—extension to Bash, Ksh, and Tcsh Pdksh—extension to KSH 二. 应用   为了…
在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 终端的命令…
作为一个菜鸟,我还是很想提高自己.但是既然说了是菜鸟,当然很容易半路折翅 从刚听说intellij idea(以下简称 idea)到现在,应该有超过一个月了吧,我的电脑装了三四次系统了(刚换了一台电脑),每次都是配置好java 的开发环境 Idea只要配置好java就可以用了(刚换了Linux,windows需要先安装,安装包,自行百度官网下载) 刚开始接触,不过配置jdk,tomcat,maven都还比较容易 最开始是直接从github上拉项目下来熟悉,后来又把学习的项目导进来,反正都是学习,…
一.前提 插件:Maven Integration plugin 环境: maven.tomcat 用的博客系统代码: git clone https://github.com/b3log/solo.git 远端git服务器: [git@git repos]$ mkdir -p solo [git@git repos]$ cd solo/ [git@git solo]$ git --bare init Initialized empty Git repository in /home/git/r…
一.前提 环境为:lnmp PHP项目:wordpress(此处我们下载一个wordpress的源码.将其模拟为我们的代码上传到我们的git仓库) 二.配置 1)创建job 2)参数化构建 3)配置pipeline脚本(此处采用git仓库获取脚本) 4)最后,保存 三.编写jenkinsfile 接下里编写jenkinsfile文件: jenkinsfile-PHP: 源码文件: node ("slave01-172.16.1.2") { stage('git checkout') {…
#! /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…
实验环境 实验设备 三台服务器 centos 7.X 以上 内存 2-3G左右 192.168.1.195 (jenkins最新+ git 2.8+maven 3.5 +tomcat 8+java1.8 ) 192.168.1.196 (git2.8 + gitlab 10.0.0 账号关联) 192.168.1.97 (docker 17.3 ce 社区版 +) gitlab 版本查看 [root@git ~]# cat /opt/gitlab/embedded/service/gitlab-…
看到有个大佬写了个很实用的脚本,于是这里做了转载 #!/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…
用maven工程打包时,会将数据库连接一并打进去,如果需要经常修改数据库连接,则需要打开jar包然后修改配置,这样很麻烦耗时并且容易出错. 因此需要将数据库配置放入项目外,这样修改数据库时去固定的配置文件中修改即可,shell脚本源码如下: #/bin/bash printf "\n+++++++++++++++++++ %-30.30s +++++++++++++++++++" 'startserver Begin!' echo "" PROJECTDIR=$PW…
#!/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…
#!/bin/bash DATE=`date +%Y-%m-%d-%H-%M-%S` echo "当前时间是:$DATE" # 根据端口号查找进程 PID=`/usr/sbin/lsof -i:9002 |/usr/bin/awk 'NR==2{print $2}'` echo "杀死当前Bootstrap进程pid:$PID" kill -9 $PID # 根据实际情况修改路径 echo "启动tomcat进程" /usr/bin/bash /…
#!/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…
#!/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…
部署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#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…
Java代码自动部署 [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java代码的发布部署也是经常需要做的一件事,特别是互联网公司.代码的发布上线关系到保证生产环境能够正常启动及功能是否能正常运行,所以代码部署在整个项目开发周期还是占据很重要的地位. 由于本人近期在学习Java代码自动发布相关的知识,此系列文章是对此次学习到的知识进行巩固和总结:同时,也希望能够帮助到和我一样对此方面知识感兴…
在实际项目中,我们经常用到需要自动化部署软件的情况,这种情况下,我们就不能人为地在命令行下敲击命令了,一切都需要通过shell脚本自动化完成.所谓自动化完成,其实也就是通过写shell程序,模拟人为敲击linux指令,这样一来,所有的指令一气呵成,方便自动化部署. 我们以一个简单的例子进行说明: 需求:通过一台服务器向其他多台服务器安装jdk,期间自动配置ssh免登录,并且其他多台服务器下载该台服务器上面的jdk,下载完成后,解压并进行环境变量的配置. 代码: boot.sh: #!/bin/b…