jenkins服务脚本

本文介绍如何将特定服务(如Jenkins)配置为CentOS系统服务,实现开机自启动和服务的简便管理。通过编写shell脚本并利用系统工具chkconfig,可以轻松地控制服务的启动、停止和重启。

需求:每次开启服务,和关闭服务都要敲一段命令,太麻烦了,于是尝试制作成系统(centos)服务,开机自动启动服务,service jenkins start ,service jenkins stop,service jenkins restart多爽

#!/bin/bash
#
# chkconfig: 2345 89 11
# description: jenkins service
#其实46行以上的代码只不过是写给46行之后调用,两个分号前面的函数就是你自定义service start,stop,restart 触发的代码
#start,stop逻辑一般是调用你的程序关闭服务的命令,不要傻傻的自己还去写。。
#restart一般是直接调用stop,start
#reload() -----> 告诉程序重读配置文件,改变程序的运行状态
#/etc/rc.d/init.d/  系统服务脚本目录,一个服务会有一个脚本,ls可以看到其实有很多写好的服务脚本,可以打开某一个看看,别人的怎么写的,参考借鉴下
#/var/lock/subsys   服务锁定目录(存在则表示已经创建了实例pid文件)主要是为了防止重复启动


SERVICE_NAME=jenkins
SERVICE_ROOT=/home/jenkins
PIDFILE=/var/run/${SERVICE_NAME}/${SERVICE_NAME}.pid
LOCKFILE=/var/lock/subsys/${SERVICE_NAME}


start() {
	echo "Starting ${SERVICE_NAME} ..."
	start_something	
	touch ${LOCKFILE}
	echo "${SERVICE_NAME} is started"
}

stop() {
	echo "Stopping ${SERVICE_NAME} ..."
	stop_something
	rm -f ${lockfile} ${pidfile}
}

start_something(){
	`nohup ${SERVICE_ROOT}/start_jenkins.sh > jenkins.log 2>&1 &`
}

stop_something(){
	`java -jar ${SERVICE_ROOT}/jenkins_home/war/WEB-INF/jenkins-cli.jar -s http://localhost:8000 shutdown --username admin --password a87905338`
}

restart(){
	stop
	start
}

# See how we were called.
case "$1" in
  start)
start        
;;
  stop)
stop            
;;
  restart|force-reload)
stop                
start
;;
  *)
echo $"Usage: $0 {start|stop|restart|force-reload}"
exit 2
esac




要注意的是, 文件的格式要是 unix. 可以通过 VI 命令 :set ff? 查看.如果不是, 执行的时候会报错:

/bin/bash^M: bad interpreter


:set fileformat=unix --> 设置编码为unix(还可以设置为 doc)


VI 中保存

将该脚本设置为可执行:

chmod +x servicefile



2.添加系统服务

chkconfig --add jenkins


3.系统服务自启动

chkconfig --level 345 jenkins on


4.测试

service jenkins start

service jenkins stop

shutdown -r now

每执行完一个测试命令都访问页面和看看进程是否正常(ps -ef | grep jenkins)


PyQt入门精通”是一本非常好的学习PyQt的教材,它深入浅出地介绍了PyQt的基本概念、使用方法和应用场景。全书包括10章,从安装PyQt开始一步一步地讲解、演示,最终完成了一个功能完备的PyQt的图形界面应用程序。 第一章介绍了PyQt的概述和一些基本概念,包括PyQt的版本、组件和模块的作用和用法等。 第二章详细地讲解了PyQt的安装和环境配置,包括PyQt的安装方法和环境变量的设置等。 第三章介绍了PyQt基础控件的使用方法和属性设置,如:标签、按钮、文本框、复选框、单选框、下拉列表等。 第四章讲述了PyQt中的布局控件,包括水平布局、垂直布局、网格布局等,这些布局控件在PyQt中是非常重要的。在应用程序基础框架的设计过程中能够让开发人员灵活地改变界面布局结构。 第五章提高了课程难度,引入了PyQt中的事件机制和信号与槽机制,这些是PyQt中高级概念之一。 接下来的几章,以实际应用为例子,分别讲解了PyQt在图形界面、绘图、多媒体等方面的应用方法。 最后一章进行了总结,包括优化PyQt程序的技巧和PyQt中一些高级功能的使用方法,如使用样式表、多线程编程、网络编程等。 通过这本书的学习,读者可以循序渐进地了解和掌握PyQt的基本概念和使用方法,还可以积累一些PyQt编程的技巧和经验,成为一名PyQt的专业开发人员。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值