码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 让1个服务开机自启动 有什么方法


    此题也可以称为:
    让1个脚本或命令通过service 管理或chkconfig或systemctl 管理

    方法1 CentOS6和CentOS7

    /etc/rc.local

    注意:

    CentOS 7中使用rc.local之前 需要加上执行权限
    chmod +x /etc/rc.d/rc.local

    方法2 CentOS 6中

    可以通过chkconfig(check config)管理开机自启动

    1.书写1个脚本放在/etc/init.d/目录下

    1. [root@oldboyedu-54-final ~]# cat /etc/init.d/oldboyd
    2. #!/bin/bash
    3. hostname

    2.脚本要有执行权限

    [root@oldboyedu-54-final ~]# chmod +x /etc/init.d/oldboyd
    

    3.脚本的开头要有chkconfig要求的格式

    1. [root@oldboyedu-54-final ~]# cat /etc/init.d/oldboyd
    2. #!/bin/bash
    3. # chkconfig: 2345 99 99
    4. hostname
    # chkconfig:23459999
    默认格式默认开机自启动级别开机顺序关机顺序

    4.把脚本加入到chkconfig管理

    1. [root@oldboyedu-54-final ~]# chkconfig --add oldboyd
    2. [root@oldboyedu-54-final ~]# chkconfig |grep oldboy
    3. oldboyd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

    方法3 CentOS 7中 systemctl 控制开机自启动

    systemctl start/restart/enable/disable rsync 通过配置文件实现

    1.放在 /usr/lib/systemd/system/rsyncd.service 目录下

    systemctl配置文件的格式

    创建centos7 可以被systemctl管理配置文件的格式

    [unit] 部分
    #写注释说明
    After与Before 依赖
    After在xxxx服务之后运行
    Before 在xxxx服务之前运行
    ConditionPathExists 如果文件或目录存在

    [Service]
    写服务开启或关闭命令
    ExecStartPre启动服务之前运行
    ExecStartPre=/usr/bin/rm -f /run/nginx.pid
    ExecStartPre=/usr/sbin/nginx -t
    ExecStart=/usr/sbin/nginx #启动nginx的命令
    ExecReload=/bin/kill -s HUP $MAINPID #重启 重新读取配置文件
    KillSignal=SIGQUIT
    man kill 查询更多信号

    [Install]
    WantedBy=multi-user.target #指定运行级别

    例子nginx启动

    1. [root@oldboyedu-54-final ~]# cat /usr/lib/systemd/system/rsyncd.service
    2. [Unit]
    3. Description=fast remote file copy program daemon
    4. ConditionPathExists=/etc/rsyncd.conf
    5. [Service]
    6. EnvironmentFile=/etc/sysconfig/rsyncd
    7. ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS"
    8. [Install]
    9. WantedBy=multi-user.target

    例子rsyncd启动

    1. [root@oldboyedu-54-final ~]# cat /usr/lib/systemd/system/nginx.service
    2. [Unit]
    3. Description=The nginx HTTP and reverse proxy server
    4. After=network.target remote-fs.target nss-lookup.target
    5. [Service]
    6. Type=forking
    7. PIDFile=/run/nginx.pid
    8. ExecStartPre=/usr/bin/rm -f /run/nginx.pid
    9. ExecStartPre=/usr/sbin/nginx -t
    10. ExecStart=/usr/sbin/nginx
    11. ExecReload=/bin/kill -s HUP $MAINPID
    12. KillSignal=SIGQUIT
    13. TimeoutStopSec=5
    14. KillMode=process
    15. PrivateTmp=true
    16. [Install]
    17. WantedBy=multi-user.target

    参考文档:

    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7

  • 相关阅读:
    【数据结构初阶-线性表2】栈和队列,接着玩儿
    【Kubernetes】Operator开发之kubebuilder实战(一)
    淘宝 NPM 镜像站切换新域名啦
    allegro测量命令执行完之后显示如下图的问题是怎么回事
    mysql使用--表达式和函数
    CG-01 室外温湿度变送器
    java基础之数组
    怎么配置Maven的镜像仓库才是正确的
    【NOI模拟赛】最大生成树(Brouvka算法,并查集)
    特斯拉人形机器人『擎天柱』将亮相AI DAY;Go语言绝美图文教程;正则表达式的救星网站;食品Logo检测数据集;前沿论文 | ShowMeAI资讯日报
  • 原文地址:https://blog.csdn.net/qq_36733838/article/details/127745957
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号