linux手动添加开机启动,Linux—添加开机启动(服务/脚本)

系统启动时需要加载的配置文件

/etc/profile、/root/.bash_profile

/etc/bashrc、/root/.bashrc

/etc/profile.d/*.sh、/etc/profile.d/lang.sh

/etc/sysconfig/i18n、/etc/rc.local(/etc/rc.d/rc.local)

一、修改开机启动文件:/etc/rc.local(或者/etc/rc.d/rc.local)

# .编辑rc.local文件

[root@localhost ~]# vi /etc/rc.local

# .修改rc.local文件,在 exit 前面加入以下命令。保存并退出。

/etc/init.d/mysqld start # mysql开机启动

/etc/init.d/nginx start # nginx开机启动

supervisord -c /etc/supervisor/supervisord.conf # supervisord开机启动

/bin/bash /server/scripts/test.sh >/dev/null >/dev/null

# .最后修改rc.local文件的执行权限

[root@localhost ~]# chmod +x /etc/rc.local

[root@localhost ~]# chmod /etc/rc.local

二、自己写一个shell脚本

将写好的脚本(.sh文件)放到目录 /etc/profile.d/ 下,系统启动后就会自动执行该目录下的所有shell脚本。

三、通过chkconfig命令设置

# .将(脚本)启动文件移动到 /etc/init.d/或者/etc/rc.d/init.d/目录下。(前者是后者的软连接)

mv /www/wwwroot/test.sh /etc/rc.d/init.d

# .启动文件前面务必添加如下三行代码,否侧会提示chkconfig不支持。

#!/bin/sh 告诉系统使用的shell,所以的shell脚本都是这样

#chkconfig: 分别代表运行级别,启动优先权,关闭优先权,此行代码必须

#description: http server 自己随便发挥!!!,此行代码必须

/bin/echo $(/bin/date +%F_%T) >> /tmp/test.log

# .增加脚本的可执行权限

chmod +x /etc/rc.d/init.d/test.sh

# .添加脚本到开机自动启动项目中。添加到chkconfig,开机自启动。

[root@localhost ~]# cd /etc/rc.d/init.d

[root@localhost ~]# chkconfig --add test.sh

[root@localhost ~]# chkconfig test.sh on

# .关闭开机启动

[root@localhost ~]# chkconfig test.sh off

# .从chkconfig管理中删除test.sh

[root@localhost ~]# chkconfig --del test.sh

# .查看chkconfig管理

[root@localhost ~]# chkconfig --list test.sh

四、自定义服务文件,添加到系统服务,通过Systemctl管理

1.写服务文件:如nginx.service、redis.service、supervisord.service

[Unit]:服务的说明

Description:描述服务

After:描述服务类别

[Service]服务运行参数的设置

Type=forking 是后台运行的形式

ExecStart 为服务的具体运行命令

ExecReload 为服务的重启命令

ExecStop 为服务的停止命令

PrivateTmp=True 表示给服务分配独立的临时空间

注意:启动、重启、停止命令全部要求使用绝对路径

[Install] 服务安装的相关设置,可设置为多用户

WantedBy=multi-user.target

2.文件保存在目录下:以754的权限。目录路径:/usr/lib/systemd/system。如上面的supervisord.service文件放在这个目录下面。

[root@localhost ~]# cat /usr/lib/systemd/system/nginx.service

[root@localhost ~]# cat /usr/lib/systemd/system/supervisord.service

3.设置开机自启动(任意目录下执行)。如果执行启动命令报错,则执行:systemctl daemon-reload

设置开机自启动

[root@localhost ~]# systemctl enable nginx.service

[root@localhost ~]# systemctl enable supervisord

停止开机自启动

[root@localhost ~]# systemctl disable nginx.service

[root@localhost ~]# systemctl disable supervisord

验证一下是否为开机启动

[root@localhost ~]# systemctl is-enabled nginx

[root@localhost ~]# systemctl is-enabled supervisord

4.其他命令

启动nginx服务

[root@localhost ~]# systemctl start nginx.service

停止nginx服务

[root@localhost ~]# systemctl start nginx.service

重启nginx服务

[root@localhost ~]# systemctl restart nginx.service

查看nginx服务当前状态

[root@localhost ~]# systemctl status nginx.service

查看所有已启动的服务

[root@localhost ~]# systemctl list-units --type=service

5.服务文件示例:

# supervisord.service进程管理服务文件

[Unit]

Description=Process Monitoring and Control Daemon # 内容自己定义:Description=Supervisor daemon

After=rc-local.service nss-user-lookup.target

[Service]

Type=forking

ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

ExecStop= /usr/bin/supervisorctl shutdown

ExecReload=/usr/bin/supervisorctl reload

Restart=on-failure

RestartSec=42s

KillMode=process

[Install]

WantedBy=multi-user.target

# nginx.service服务文件

[Unit]

Description=nginx - high performance web server

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s stop

[Install]

WantedBy=multi-user.target

# redis.service服务文件

[Unit]

Description=Redis

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/usr/local/bin/redis-server /etc/redis.conf

ExecStop=kill -INT `cat /tmp/redis.pid`

User=www

Group=www

[Install]

WantedBy=multi-user.target

(转) CentOS 7添加开机启动服务/脚本

CentOS 7添加开机启动服务/脚本 原文:http://blog.csdn.net/wang123459/article/details/79063703 一.添加开机自启服务 在CentOS 7 ...

【centos7】添加开机启动服务/脚本

一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

centos7之添加开机启动服务/脚本

一.添加开机启动脚本 #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to ...

centos7如何添加开机启动服务/脚本

一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

CentOS7添加开机启动服务/脚本(延用CentOS6方法)

一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

CentOS 7添加开机启动服务/脚本

一.添加开机自启服务 在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以 jenkins 为例):systemctl enable jenkins.service #设置jenkins服 ...

CentOS 7添加开机启动服务脚本

一.添加开机自启服务 在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务 ...

linux自定义开机启动服务和chkconfig使用方法

linux自定义开机启动服务和chkconfig使用方法 1. 服务概述在linux操作系统下,经常需要创建一些服务,这些服务被做成shell脚本,这些服务需要在系统启动的时候自动启动,关闭的时候自动 ...

(转)linux自定义开机启动服务和chkconfig使用方法

原文:https://www.cnblogs.com/jimeper/archive/2013/03/12/2955687.html linux自定义开机启动服务和chkconfig使用方法 1. 服 ...

随机推荐

python中的collections

python中有大量的内置模块,很多是属于特定开发的功能性模块,但collections是属于对基础数据的类型的补充模块,因此,在日常代码中使用频率更高一些,值得做个笔记,本文只做主要关键字介绍,详细 ...

SecureCRT在远程主机和本地之间传输文件

概述 Linux系统不像Window系统有清晰的操作页面,数据能Copy下来,远程Linux的数据,就牵扯到本地数据与远程服务器数据交换的问题.Linux远程攻击SecureCrt提供了2种方式,可以 ...

pdf.js在IIS中配置使用笔记

最近在手机App开发Android版本时候遇到需要显示PDF文件的需求,记得之前直接使用系统浏览器或者WebView就可以显示,但是现在不可以了,只能另寻其他办法. 最终找到PDF.JS来进行实现,但 ...

UVA12130 Summits(BFS + 贪心)

UVA12130 Summits(BFS + 贪心) 题目链接 题目大意: 给你一个h ∗ w 的矩阵,矩阵的每一个元素都有一个值,代表这个位置的高度. 题目要求你找出这个图中有多少个位置是峰值点.从 ...

CodeForces 625A 思维

题意是说一个人喝酒 有两种办法 买塑料瓶的 a块钱 喝了就没了 或者是买玻璃瓶的b块钱 喝完还能卖了瓶子c块钱 求最多能喝多少瓶 在开始判断一次 a与b-c的关系 即两种方式喝酒的成本 如果a< ...

&lbrack;转&rsqb;ios 开发file&&num;39&semi;s owner以及outlet与连线的理解

转载地址:http://www.cocoachina.com/bbs/simple/?t108822.html xib文件本身可以看做是一个xml,app启动的时候会根据xml构造xib对应的界面及其 ...

java多线程之 Executors线程池管理

1. 类 Executors 此类中提供的一些方法有: 1.1 public static ExecutorService newCachedThreadPool() 创建一个可根据需要创建新线程的线 ...

Java面试题及答案(基础122道,编码19道)

JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

对于coursera上三门北大网课的评测

今年暑假开始就选了coursera上三门北大的网课——C++程序设计.算法基础.数据结构基础,它们属于一个项目的,上的话每个月249块钱,项目里包括这三门一共有七门课.因为一开始是三门课同时上的,数据 ...

Redis高可用架构—Keepalive&plus;VIP

最近整理一下Redis高可用架构的文档,也准备分享出来,虽然这些架构也不是很复杂.Redis的高可用方案目前主要尝试过5种方式,其中2种方式已经在线上使用. 1)Redis Master-Slave ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值