<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=%E8%BF%90%E7%BB%B4%E8%A7%84%E5%88%922018-2024</id>
	<title>运维规划2018-2024 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=%E8%BF%90%E7%BB%B4%E8%A7%84%E5%88%922018-2024"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=%E8%BF%90%E7%BB%B4%E8%A7%84%E5%88%922018-2024&amp;action=history"/>
	<updated>2026-04-20T13:07:02Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=%E8%BF%90%E7%BB%B4%E8%A7%84%E5%88%922018-2024&amp;diff=1435&amp;oldid=prev</id>
		<title>Evan：​/* english */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=%E8%BF%90%E7%BB%B4%E8%A7%84%E5%88%922018-2024&amp;diff=1435&amp;oldid=prev"/>
		<updated>2024-02-20T14:44:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;english&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[category:devops]] &lt;br /&gt;
=站内相关=&lt;br /&gt;
[[职业规划]]&lt;br /&gt;
&lt;br /&gt;
[[Learn list学习列表]]&lt;br /&gt;
&lt;br /&gt;
[[Python笔记2019-2021]]&lt;br /&gt;
&lt;br /&gt;
运维 （英文：Ops），又称运维工程师，是对技术类运营维护人员的统称。运维人员的职责是根据业务需要规划信息、网络、服务，通过网络监控、事件预警、业务调度、排障升级等手段，使服务处于长期稳定可用状态。&lt;br /&gt;
&lt;br /&gt;
=english or remote jobs=&lt;br /&gt;
=english=&lt;br /&gt;
[http://www.newxue.com/baike/12803349248704.html 小王子英文版]&lt;br /&gt;
&lt;br /&gt;
=2023=&lt;br /&gt;
&lt;br /&gt;
[[Booklist]]  要看的书&lt;br /&gt;
&lt;br /&gt;
=[[面试]]=&lt;br /&gt;
&lt;br /&gt;
=运维开发Devops=&lt;br /&gt;
运维怎么才能面试上运维开发的工作&lt;br /&gt;
&lt;br /&gt;
请见 [[Devops]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.uml.org.cn/softwareprocess/201608031.asp DevOps 之旅：运维人员如何开始学习源代码？]&lt;br /&gt;
&lt;br /&gt;
=[[terraform]]=&lt;br /&gt;
&lt;br /&gt;
功能：terraform 用于各类基础设施资源初始化，支持多种云平台，支持第三方服务对接&lt;br /&gt;
&lt;br /&gt;
https://registry.terraform.io/modules/terraform-iaac/nginx-controller/helm/latest&lt;br /&gt;
&lt;br /&gt;
==Terraform aliyun ==&lt;br /&gt;
&lt;br /&gt;
=cmdb=&lt;br /&gt;
&lt;br /&gt;
[[Cmdb]]&lt;br /&gt;
&lt;br /&gt;
[https://gitee.com/huanzi-qch/base-admin Base Admin一套简单通用的后台管理系统]&lt;br /&gt;
&lt;br /&gt;
搞在xk intra 然后 frp到外面 &lt;br /&gt;
&lt;br /&gt;
[https://www.linuxprobe.com/cmdb-things.html 前聚美优品运维负责人谈CMDB]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/f3a70cddccc5 CMDB和运维自动化]&lt;br /&gt;
&lt;br /&gt;
[http://www.yunweipai.com/archives/6856.html (深度好文)重构CMDB，避免运维之耻]&lt;br /&gt;
&lt;br /&gt;
[https://segmentfault.com/q/1010000003838760 开源CMDB]&lt;br /&gt;
&lt;br /&gt;
=ansible=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Ansible基础]]&lt;br /&gt;
&lt;br /&gt;
[https://blog.51cto.com/u_9237101/5106211 自动化运维项目之jenkins pipline+ansible playbook]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://item.jd.com/12898815.html#none  吃透Ansible：核心源码剖析与项目实战 ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://github.com/ansible/ansible-examples&lt;br /&gt;
&lt;br /&gt;
=jenkins (include  library)=&lt;br /&gt;
&lt;br /&gt;
[[Jenkins shared library 共享库示例]]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/wangmo/p/12878564.html jenkins+docker实现自动编译、打包、构建镜像、容器部署]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/1efc0d128cd7 项目二 Jenkins+Docker自动打包镜像到私有仓库]&lt;br /&gt;
&lt;br /&gt;
[https://juejin.cn/post/7008097180737093662  Docker + Jenkins 实现持续集成持续部署 ]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/xiaoxiangzi520/article/details/88842200 jenkins+docker实现自动编译、打包、构建镜像、容器部署]&lt;br /&gt;
&lt;br /&gt;
https://www.jenkins.io/doc/book/pipeline/development/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://plugins.jenkins.io/workflow-cps/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/66e11f8eaed8 jenkins+nexus+gitlab+docker+k8s配置项目]&lt;br /&gt;
&lt;br /&gt;
=简历=&lt;br /&gt;
&lt;br /&gt;
[https://www.51cto.com/it/news/2019/1104/16234.html Linux运维工程师简历项目经验]&lt;br /&gt;
&lt;br /&gt;
=k8s=&lt;br /&gt;
&lt;br /&gt;
==[[K8s基础]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Kuboard基础]]==&lt;br /&gt;
&lt;br /&gt;
== [[Kubernetes ingress基础]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Lnmp or java on k8s]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
搞个国内的吧  debian   主要就是这下面三个站内资源&lt;br /&gt;
&lt;br /&gt;
[https://developer.aliyun.com/mirror/kubernetes?spm=a2c6h.13651102.0.0.3e221b11Au1vN6 Kubernetes 镜像 aliyun]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Install and Configure Kubernetes (k8s) on debian10]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[使用kubeadm离线部署kubernetesv1.9.0 on centos7]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[2018k8s]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://zhuanlan.zhihu.com/p/46341911 kubernetes安装（国内环境）]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/chenzhenqi/p/10695959.html 国内环境安装k8s]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
国内k8s集群部署的几种方式&lt;br /&gt;
部署方式&lt;br /&gt;
&lt;br /&gt;
目前我所了解有以下几种方式：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    使用kubeadmin通过离线镜像的方式，网上教程和镜像包挺多的&lt;br /&gt;
&lt;br /&gt;
    通过厂商集成的方式如：rancher&lt;br /&gt;
    这里推荐一篇blog：CentOS7环境安装Kubernetes四部曲https://blog.csdn.net/boling_cavalry/article/details/79613037&lt;br /&gt;
&lt;br /&gt;
    直接使用类似阿里云这样的公有云平台k8s 。只要有钱，一键搞定 : )&lt;br /&gt;
&lt;br /&gt;
    通过yum官方仓库安装，需要启用extras仓库。&lt;br /&gt;
    不过里面版本都比较老，目前最新的也只是1.5.2版本，对于想学新的东西，比如k8s角色管理、helm等来说不太方便，因此也不建议使用。&lt;br /&gt;
&lt;br /&gt;
    通过二进制包的形式进行安装，这里推荐一个repo：kubeasz https://github.com/gjmzj/kubeasz&lt;br /&gt;
    里面文档也很丰富清晰，对于初学者来说很有帮助。 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
原文链接：https://blog.csdn.net/lusyoe/article/details/80217291&lt;br /&gt;
&lt;br /&gt;
=服务器费用=&lt;br /&gt;
自动续费 ?&lt;br /&gt;
&lt;br /&gt;
=运维自动化=&lt;br /&gt;
&lt;br /&gt;
[http://os.51cto.com/art/201806/576802.htm 小团队如何从零搭建一个自动化运维体系]&lt;br /&gt;
&lt;br /&gt;
[http://os.51cto.com/art/201806/576888.htm 如何做好自动化运维？自动化运维必备技能有哪些]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:ops]] [[category:生活与情感]]&lt;br /&gt;
==python 自动化 ==&lt;br /&gt;
请见 [[Devops]]&lt;br /&gt;
&lt;br /&gt;
Spug是面向中小型企业设计的轻量级无Agent的自动化运维平台，整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能&lt;br /&gt;
&lt;br /&gt;
[https://github.com/openspug/spug Spug是面向中小型企业设计的轻量级无Agent的自动化运维平台]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/aeolus_pu/article/details/52605109 利用python实现批量自动化运维脚本案例]&lt;br /&gt;
&lt;br /&gt;
早下班时回家记得看书和动手例子&lt;br /&gt;
&lt;br /&gt;
。我平时的工作不仅会用到python和shell，而且还会用到js和golang和c++。使用场景如下：1.shell：日常工具脚本编写，不多说2.python，js：技术栈为vue.js+django的运营系统开发和维护，好处是开发效率高。3.golang，c艹：与业务系统有交互的运营模块开发和维护，以及较在意执行效率的工作，如机器管控平台，agent诸如此类，主要是为了和业务系统的rpc协议兼容，所以用业务系统的框架开发偏运维类的系统&lt;br /&gt;
&lt;br /&gt;
作者：运维不LOW&lt;br /&gt;
链接：https://www.zhihu.com/question/399160308/answer/1263092889&lt;br /&gt;
来源：知乎&lt;br /&gt;
著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。&lt;br /&gt;
&lt;br /&gt;
我之前管理主机资产信息都是用的wiki或者是excel. 每次添加或下线机器 都需要主动的去手动修改.我觉得太麻烦了, 参考过市面上的一些cmdb产品,比如腾讯的蓝鲸等等 ,都觉得有不满意的地方.所以想自己搞一个非常简单的CMDB系统. 只需要实现 能自动获取现有接入salt管理的主机就可以了.salt有现成的pythonAPI, 我需要做的就是用python 写个脚本,来获取想要的主机信息 ,然后存入数据库,再用django+vue实现展示和管理就行了, 这就是python实际应用的一个例子.其实python的用处还有很多的. 还有阿里云oss ,ecs都有现成的pythonAPI,python用熟了以后,有写脚本写起来确实要比shell得劲.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
链接：https://www.zhihu.com/question/399160308/answer/1263538144&lt;br /&gt;
&lt;br /&gt;
[https://www.zhihu.com/question/29372574 Python 的练手项目有哪些值得推荐]&lt;br /&gt;
&lt;br /&gt;
==Yearning SQL 审核平台==&lt;br /&gt;
[https://github.com/cookieY/Yearning Yearning SQL 审核平台]&lt;br /&gt;
&lt;br /&gt;
=监控=&lt;br /&gt;
==zabbix==&lt;br /&gt;
&lt;br /&gt;
[[Zabbix报警]]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/wyl9527/article/details/73928853 action_email 还有报警前执行脚本]&lt;br /&gt;
&lt;br /&gt;
email 报警&lt;br /&gt;
短信报警 &lt;br /&gt;
wechat 报警&lt;br /&gt;
&lt;br /&gt;
zabbix new server docker 化&lt;br /&gt;
[https://blog.csdn.net/heyongluoyao8/article/details/51413668 服务器监控(包括性能指标与web应用程序)]&lt;br /&gt;
&lt;br /&gt;
==pinpoint==&lt;br /&gt;
&lt;br /&gt;
== Nightingale ==&lt;br /&gt;
[https://www.oschina.net/p/nightingale-didi nightingale-didi]&lt;br /&gt;
&lt;br /&gt;
Open-Falcon 是小米运维团队开源的企业级监控解决方案，在国内广泛使用。&lt;br /&gt;
&lt;br /&gt;
Nightingale 采用 Apache-2.0 开源协议，Copyright © 滴滴 2020&lt;br /&gt;
&lt;br /&gt;
=python=&lt;br /&gt;
[https://blog.csdn.net/chengxuyuanyonghu/article/details/59486631 python常用运维脚本实例]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/hardywang/article/details/51536510  python用于系统运维管理和灰度发布部署]&lt;br /&gt;
&lt;br /&gt;
[http://www.voidcn.com/article/p-poyppygk-ng.html 基于python的一个运维自动化的项目(进度更新)【已开源】]&lt;br /&gt;
&lt;br /&gt;
=django=&lt;br /&gt;
&lt;br /&gt;
Gunicorn&lt;br /&gt;
&lt;br /&gt;
=大龄运维=&lt;br /&gt;
go ,cmdb, js   devops&lt;br /&gt;
&lt;br /&gt;
https://www.v2ex.com/t/598440?__cf_chl_jschl_tk__=4fd0e10bc1ee83eb05176806d9433076e1fa08e8-1597039021-0-Af0TkNavo215SSTNLsdKOV9tqmTbckqd9aV_DrcqROga2l0U_TbpmLo5RYrY1VFEtsDNtYp82uGAiF9rOj-5LQw_8R9ic8SMnnk-lvBz1VxXZnlc4af3Qr6KC5Rqe9v1nX3W3hmXhO6NtxE8dgXbs13Wo5-xE5wgt5At15GuUC8UDd6v0W2w6eGdw9VBxks5jXlk-nZ2sc9xycmrjEwl6l4HZYVEvLnNdBRJpV9Aa6LG8T7qnoAvGeT-eQYqbUN0b7T6fRXFkjxqNbTOgOLm_xuL7sou1BKNe9zd1kNNfFtgcoKekkuwYNFcMP9ve9PTKRddmq1E5ELO8PzFSOZWMB8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.zhihu.com/question/27214752 什么是运维？运维工程师这个职位有多重要？]&lt;br /&gt;
&lt;br /&gt;
=ruby=&lt;br /&gt;
[[Learn ruby]]&lt;br /&gt;
&lt;br /&gt;
=safe=&lt;br /&gt;
[https://blog.linuxeye.cn/454.html fail2ban阻止SSH暴力破解]&lt;br /&gt;
&lt;br /&gt;
清空/etc/issue，去除系统及内核版本登录前的屏幕显示&lt;br /&gt;
&lt;br /&gt;
== safe dns==&lt;br /&gt;
http://www.freenom.world/zh/index.html?lang=zh&lt;br /&gt;
&lt;br /&gt;
Freenom是世界上第一个也是唯一的免费域名提供商。 我们的使命是把互联网带给世界人民，帮助各国发展自己的数字经济。&lt;br /&gt;
&lt;br /&gt;
通过打破壁垒、整合免费域名与最新网站建设和托管技术，Freenom让企业或个人建立网站和管理内容很容易，没有任何成本。&lt;br /&gt;
&lt;br /&gt;
=docker k8s=&lt;br /&gt;
&lt;br /&gt;
=工单=&lt;br /&gt;
[https://github.com/lanyulei/ferry 基于Gin + Vue + Element UI前后端分离的工单系统]&lt;br /&gt;
&lt;br /&gt;
=intra=&lt;br /&gt;
==内网穿透打洞==&lt;br /&gt;
[[内网穿透打洞]]&lt;br /&gt;
&lt;br /&gt;
==内网环境==&lt;br /&gt;
oracle 17 &lt;br /&gt;
&lt;br /&gt;
nginx  other 11&lt;br /&gt;
&lt;br /&gt;
frp &lt;br /&gt;
&lt;br /&gt;
但是没有开机自启动呢&lt;br /&gt;
&lt;br /&gt;
=apps=&lt;br /&gt;
==7.1redis==&lt;br /&gt;
公司的redis要 HA&lt;br /&gt;
&lt;br /&gt;
[https://my.oschina.net/u/2600078/blog/1923696 redis架构演变与redis-cluster群集读写方案 ]&lt;br /&gt;
&lt;br /&gt;
==7.2 nginx==&lt;br /&gt;
&lt;br /&gt;
redis  lua+ cc&lt;br /&gt;
[[Nginx Lua Redis防止CC攻击]]&lt;br /&gt;
&lt;br /&gt;
==7.3 mysql==&lt;br /&gt;
mysql gpt&lt;br /&gt;
&lt;br /&gt;
==7.4 dns==&lt;br /&gt;
[http://blog.51cto.com/sweetpotato/1596973 Linux运维实战之DNS基础]&lt;br /&gt;
&lt;br /&gt;
==7.5 CI jenkins==&lt;br /&gt;
&lt;br /&gt;
==备份==&lt;br /&gt;
==关键文件备份==&lt;br /&gt;
passwd  etc &lt;br /&gt;
&lt;br /&gt;
== 更新==&lt;br /&gt;
包 &lt;br /&gt;
mysql 文件  这个尽量做成自动化&lt;br /&gt;
接下何焱的活&lt;br /&gt;
==db备份==&lt;br /&gt;
&lt;br /&gt;
=2020=&lt;br /&gt;
==english==&lt;br /&gt;
&lt;br /&gt;
==redis==&lt;br /&gt;
wiki上相关的可以看看先&lt;br /&gt;
&lt;br /&gt;
[[Redis运维]]&lt;br /&gt;
&lt;br /&gt;
==lua==&lt;br /&gt;
[[Lua基础]]&lt;br /&gt;
&lt;br /&gt;
==golang==&lt;br /&gt;
&lt;br /&gt;
== Zookeeper==&lt;br /&gt;
https://www.jianshu.com/u/3829416c7065&lt;br /&gt;
==see also==&lt;br /&gt;
&lt;br /&gt;
[https://zhuanlan.zhihu.com/p/66483660 运维超级好用工具大PK]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=tomcat=&lt;br /&gt;
[http://blog.51cto.com/jowin/1739400 Linux运维 第三阶段 （十九） tomcat]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/lifetragedy/article/details/7708724 通向架构师的道路（第四天）之Tomcat性能调优]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/d45e12241af4 Tomcat性能调优-JVM监控与调优]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/xyang81/article/details/51530979 Tomcat配置与优化（内存、并发、管理）]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.centos.bz/2017/08/tomcat-jvm-performance-tuning/ Tomcat和JVM的性能调优总结]&lt;br /&gt;
&lt;br /&gt;
[https://www.oschina.net/translate/tomcat-performance-tuning Tomcat 生产服务器性能优化 【已翻译100%】]&lt;br /&gt;
&lt;br /&gt;
[http://yunzhu.iteye.com/blog/953387 监控Tomcat解决方案（监控应用服务器系列文章）]&lt;br /&gt;
&lt;br /&gt;
==tomcat优化==&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/coolwzjcool/article/details/2544448 TOMCAT内存大小调整]&lt;br /&gt;
&lt;br /&gt;
[http://elf8848.iteye.com/blog/378805 Tomcat内存设置详解]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/xyang81/article/details/51530979 Tomcat配置与优化（内存、并发、管理）]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/lifetragedy/article/details/7708724 通向架构师的道路（第四天）之Tomcat性能调优-让小猫飞奔]&lt;br /&gt;
&lt;br /&gt;
==tomcat 启动脚本==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#cat /etc/init.d/pp-col  在centos7上试过 可运行&lt;br /&gt;
# chkconfig: 345 99 28&lt;br /&gt;
# description: Starts/Stops Apache Tomcat&lt;br /&gt;
&lt;br /&gt;
#by evan&lt;br /&gt;
#修改几个目录 &lt;br /&gt;
##export JAVA_HOME=/usr/java/jdk1.8.0_121/&lt;br /&gt;
#sed -i &amp;quot;s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk1.8.0_121\//g&amp;quot; pp-collector.init&lt;br /&gt;
#sed -i &amp;quot;s/CATALINA_HOME=\/data\/service\/pinpoint-collector\//CATALINA_HOME=\/data\/pp-col\//g&amp;quot; pp-collector.init&lt;br /&gt;
#sed -i &amp;quot;s/CATALINA_BASE=\/data\/service\/pinpoint-collector\//CATALINA_BASE=\/data\/pp-col\//g&amp;quot; pp-collector.init&lt;br /&gt;
#by evan&lt;br /&gt;
&lt;br /&gt;
# Tomcat  start/stop/status script&lt;br /&gt;
# Forked from: https://gist.github.com/valotas/1000094&lt;br /&gt;
# @author: Miglen Evlogiev &amp;lt;bash@miglen.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Release updates:&lt;br /&gt;
# Updated method for gathering pid of the current proccess&lt;br /&gt;
# Added usage of CATALINA_BASE&lt;br /&gt;
# Added coloring and additional status&lt;br /&gt;
# Added check for existence of the tomcat user&lt;br /&gt;
#&lt;br /&gt;
 &lt;br /&gt;
#Location of JAVA_HOME (bin files)&lt;br /&gt;
export JAVA_HOME=/usr/java/jdk1.8.0_121/&lt;br /&gt;
 &lt;br /&gt;
#Add Java binary files to PATH&lt;br /&gt;
export PATH=$JAVA_HOME/bin:$PATH&lt;br /&gt;
 &lt;br /&gt;
#CATALINA_HOME is the location of the bin files of Tomcat  &lt;br /&gt;
export CATALINA_HOME=/data/pp-col/&lt;br /&gt;
 &lt;br /&gt;
#CATALINA_BASE is the location of the configuration files of this instance of Tomcat&lt;br /&gt;
export CATALINA_BASE=/data/pp-col/&lt;br /&gt;
 &lt;br /&gt;
#TOMCAT_USER is the default user of tomcat&lt;br /&gt;
export TOMCAT_USER=root&lt;br /&gt;
 &lt;br /&gt;
#TOMCAT_USAGE is the message if this script is called without any options&lt;br /&gt;
TOMCAT_USAGE=&amp;quot;Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
#SHUTDOWN_WAIT is wait time in seconds for java proccess to stop&lt;br /&gt;
SHUTDOWN_WAIT=3&lt;br /&gt;
 &lt;br /&gt;
tomcat_pid() {&lt;br /&gt;
        echo `ps -fe | grep $CATALINA_BASE | grep -v grep | tr -s &amp;quot; &amp;quot;|cut -d&amp;quot; &amp;quot; -f2`&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
start() {&lt;br /&gt;
  pid=$(tomcat_pid)&lt;br /&gt;
  if [ -n &amp;quot;$pid&amp;quot; ]&lt;br /&gt;
  then&lt;br /&gt;
    echo -e &amp;quot;\e[00;31mTomcat is already running (pid: $pid)\e[00m&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    # Start tomcat&lt;br /&gt;
    echo -e &amp;quot;\e[00;32mStarting tomcat\e[00m&amp;quot;&lt;br /&gt;
    #ulimit -n 100000&lt;br /&gt;
    #umask 007&lt;br /&gt;
    #/bin/su -p -s /bin/sh tomcat&lt;br /&gt;
        if [ `user_exists $TOMCAT_USER` = &amp;quot;1&amp;quot; ]&lt;br /&gt;
        then&lt;br /&gt;
                su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh&lt;br /&gt;
        else&lt;br /&gt;
                sh $CATALINA_HOME/bin/startup.sh&lt;br /&gt;
        fi&lt;br /&gt;
        status&lt;br /&gt;
  fi&lt;br /&gt;
  return 0&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
status(){&lt;br /&gt;
          pid=$(tomcat_pid)&lt;br /&gt;
          if [ -n &amp;quot;$pid&amp;quot; ]; then echo -e &amp;quot;\e[00;32mTomcat is running with pid: $pid\e[00m&amp;quot;&lt;br /&gt;
          else echo -e &amp;quot;\e[00;31mTomcat is not running\e[00m&amp;quot;&lt;br /&gt;
          fi&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
stop() {&lt;br /&gt;
  pid=$(tomcat_pid)&lt;br /&gt;
  if [ -n &amp;quot;$pid&amp;quot; ]&lt;br /&gt;
  then&lt;br /&gt;
    echo -e &amp;quot;\e[00;31mStoping Tomcat\e[00m&amp;quot;&lt;br /&gt;
    #/bin/su -p -s /bin/sh tomcat&lt;br /&gt;
        sh $CATALINA_HOME/bin/shutdown.sh&lt;br /&gt;
 &lt;br /&gt;
    let kwait=$SHUTDOWN_WAIT&lt;br /&gt;
    count=0;&lt;br /&gt;
    until [ `ps -p $pid | grep -c $pid` = &amp;#039;0&amp;#039; ] || [ $count -gt $kwait ]&lt;br /&gt;
    do&lt;br /&gt;
      echo -n -e &amp;quot;\n\e[00;31mwaiting for processes to exit\e[00m&amp;quot;;&lt;br /&gt;
      sleep 1&lt;br /&gt;
      let count=$count+1;&lt;br /&gt;
    done&lt;br /&gt;
 &lt;br /&gt;
    if [ $count -gt $kwait ]; then&lt;br /&gt;
      echo -n -e &amp;quot;\n\e[00;31mkilling processes which didn&amp;#039;t stop after $SHUTDOWN_WAIT seconds\e[00m&amp;quot;&lt;br /&gt;
      kill -9 $pid&lt;br /&gt;
    fi&lt;br /&gt;
  else&lt;br /&gt;
    echo -e &amp;quot;\e[00;31mTomcat is not running\e[00m&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
 &lt;br /&gt;
  return 0&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
user_exists(){&lt;br /&gt;
        if id -u $1 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
        echo &amp;quot;1&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                echo &amp;quot;0&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
case $1 in&lt;br /&gt;
 &lt;br /&gt;
        start)&lt;br /&gt;
          start&lt;br /&gt;
        ;;&lt;br /&gt;
       &lt;br /&gt;
        stop)  &lt;br /&gt;
          stop&lt;br /&gt;
        ;;&lt;br /&gt;
       &lt;br /&gt;
        restart)&lt;br /&gt;
          stop&lt;br /&gt;
          start&lt;br /&gt;
        ;;&lt;br /&gt;
       &lt;br /&gt;
        status)&lt;br /&gt;
                status&lt;br /&gt;
               &lt;br /&gt;
        ;;&lt;br /&gt;
       &lt;br /&gt;
        *)&lt;br /&gt;
                echo -e $TOMCAT_USAGE&lt;br /&gt;
        ;;&lt;br /&gt;
esac    &lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[root@node2 tomcat]# vim /etc/init.d/tomcat（tomcat启动脚本）&lt;br /&gt;
&lt;br /&gt;
------------script start--------------&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# Tomcat init script for Linux.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# chkconfig: 2345 96 14&lt;br /&gt;
&lt;br /&gt;
# description: The Apache Tomcatservlet/JSP container.&lt;br /&gt;
&lt;br /&gt;
export JAVA_HOME=/usr/java/latest&lt;br /&gt;
&lt;br /&gt;
export CATALINA_HOME=/usr/local/tomcat&lt;br /&gt;
&lt;br /&gt;
exec $CATALINA_HOME/bin/catalina.sh $*&lt;br /&gt;
&lt;br /&gt;
--------------script end---------------&lt;br /&gt;
&lt;br /&gt;
[root@node2 tomcat]# chmod +x !$&lt;br /&gt;
&lt;br /&gt;
chmod +x /etc/init.d/tomcat&lt;br /&gt;
&lt;br /&gt;
[root@node2 tomcat]# chkconfig --add tomcat&lt;br /&gt;
&lt;br /&gt;
[root@node2 tomcat]# chkconfig tomcat on&lt;br /&gt;
&lt;br /&gt;
[root@node2 tomcat]# chkconfig --list tomcat&lt;br /&gt;
&lt;br /&gt;
tomcat            0:关闭      1:关闭      2:启用      3:启用      4:启用      5:启用      6:关闭&lt;br /&gt;
&lt;br /&gt;
[root@node2 tomcat]# service tomcat stop&lt;br /&gt;
&lt;br /&gt;
……&lt;br /&gt;
&lt;br /&gt;
[root@node2 tomcat]# service tomcat start&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=on  =&lt;br /&gt;
# 内网开发环境&lt;br /&gt;
# jenkins 自动化更新 (dev test)&lt;br /&gt;
# zabbix 报警&lt;br /&gt;
# pinpoint&lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
# &lt;br /&gt;
# 有序列表项&lt;br /&gt;
# &lt;br /&gt;
# 有序列表项&lt;br /&gt;
# &lt;br /&gt;
# 有序列表项&lt;br /&gt;
#&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>