Centos7自启动

3 篇文章 0 订阅
3 篇文章 0 订阅

Centos7自启动

几种方式

一、服务的方式自启动

  • /etc/init.d下相关程序的启动脚本
    • ln -s /etc/init.d/服务名
    • /etc/rc.d/rc3.d/S100服务名
    • //S:开机自启动 100:启动顺序

二、systemctl

  • 系统services服务配置目录: /etc/systemd/system
    • 一般只放系统核心基础服务配置
  • 自定义配置目录: /usr/lib/systemd/system/
    • 存放自定义应用注册类服务和第三方服务类配置
1. 配置文件(XXXX.service 权限:754)
[Unit]							# 启动顺序与依赖关系
Description="run test service" 	# 服务描述
Requires=						# 强依赖关系,该服务失败或停止,test也必须退出
Wants=redis.service       		#  test和Redis存在”弱依赖“关系,Redis启动失败或停止运行,不影响test
Before=
After=redis.service				# 在redis.service之后启动 

[Service]						# 启动行为
Type=forking					# 优先使用forking方式: (遵循传统Unix做法,设置PIDFile=选项,
								# 帮助systemd准确定位该服务的主进程)
								# simple(默认值):ExecStart字段启动的进程为主进程
								# forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程
								# oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
								# dbus:类似于simple,但会等待 D-Bus 信号后启动
								# notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
								# idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合
PIDFile=/var/run/app-run.pid				# 设置应用进程的PID(缺省)
User=csapal
Group=csapal
TimeoutSec=30s
RestartSec=10s
Restart=always					# no(默认值):退出后不会重启
								# on-success:只有正常退出时(退出状态码为0),才会重启
								# on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启
								# on-abnormal:只有被信号终止和超时,才会重启
								# on-abort:只有在收到没有捕捉到的信号终止时,才会重启
								# on-watchdog:超时退出,才会重启
								# always:不管是什么退出原因,总是重启

Environment="/etc/csapal/systemd_env"       # 环境变量设置,可设置多个Environment=项
										    # 备注:Environment或 EnvironmentFile引用文件皆可
ExecStart=/data/auto_run.sh start			# 定义启动进程时执行的命令或文件
ExecReload=                     			# 重启服务时执行的命令或文件
ExecStop=                        		    # 停止服务时执行的命令或文件
DefaultTimeoutStartSec=30                   # 服务启动允许的最大时长,超时时间(默认无单位:秒)  
                                            # 单位:"ms"(毫秒), "s"(秒), "min"(分钟),
                                            # "h"(小时), "d"(天), "w"(周)  
Slice=csapal.slice
PrivateTmp=True						 		# 是否分配独立的临时空间(缺省)								

[Install]
WantedBy=multi-user.target
2. 基本操作
  • 启动:systemctl start redis.service
  • 停止:systemctl stop redis.service
    • 停止不下来时,可以杀,systemctl kill redis.service
  • 重启:systemctl restart redis.service
  • 查看状态: systemctl status redis.service
  • 设置服务开机自启动:systemctl enable redis.service
  • 禁用服务:systemctl disable redis.service
  • 屏蔽服务:ln -s ‘/dev/null’ ‘/etc/systemd/system/httpd.service’
  • 取消屏蔽服务: rm ‘/etc/systemd/system/httpd.service’
  • 列出所有运行单位:systemctl list-units
  • 列出所有可用单位: sysytemctl list-units-files
  • 列出所有失败单元: systemctl --failed
  • 检查是否可用:systemctl is-enabled redis.service
  • 查询日志: journalctl -ex redis.service
三、定时启动脚本

crontab

参考链接一
参考链接二

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值