创建SysV系统脚本(可指定运行级别自动启动)

这篇博客介绍了如何创建一个SysV系统脚本`myservice.sh`,该脚本能够在指定的运行级别下自动启动,是系统管理中的一个重要实践。
摘要由CSDN通过智能技术生成
/etc/rc.d/init.d  /etc/init.d

服务类脚本
    sysV  /etc/rc.d/init.d
        必须有的选项:
            start stop restart status

chkconfig
    脚本的前面必须有下面两行,如果没有 chkconfig命令检测不到此脚本

    # chkconfig: runlevels SS KK
    runlevels:
        当chkconfig命令来为此脚本在rc#.d目录创建链接时,runlevels表示默认创建为S*开头的链接,\n除此之外的级别默认创建为K*开头的链接;S后面的启动优先级为SS所表示的数字;K后面关闭优先次序为KK所表示的数字;
    # description: 用于简单说明此脚本的功能; \ 换行

chkconfig --list: 查看所有独立守护服务的启动设定

chkconfig --add service_name
chkconfig --del service_name
chkconfig --level runlevels service_name {on|off}

测试脚本 myservice.sh

#!/bin/bash

# chkconifg: 2345 66 33
# description: Test Service
#
LOCKFILE=/var/lock/subsys/myservice  # 创建一个锁文件,用来判断脚本的状态

在Linux系统中,可以通过编写自动启动脚本来实现在系统启动自动运行特定程序或服务。常见的自动启动脚本位置是`/etc/init.d/`目录或`/etc/systemd/system/`目录。 对于使用SysV init系统的发行版(如Ubuntu 14.04之前的版本),可以在`/etc/init.d/`目录中创建一个启动脚本。以下是一个示例脚本: ```bash #!/bin/bash # 脚本名称: myservice # 描述: 启动/停止/重启 myservice 服务 case "$1" in start) # 在这里编写启动服务的命令 ;; stop) # 在这里编写停止服务的命令 ;; restart) # 在这里编写重启服务的命令 ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0 ``` 在脚本中,你需要根据实际情况编写适当的命令来启动、停止和重启服务。然后,使用以下命令设置脚本的执行权限: ```bash chmod +x /etc/init.d/myservice ``` 接下来,可以使用以下命令来启用服务的自动启动: ```bash update-rc.d myservice defaults ``` 对于使用systemd的发行版(如Ubuntu 16.04及更高版本),可以在`/etc/systemd/system/`目录中创建一个服务单元文件(unit file)。以下是一个示例unit file: ```bash [Unit] Description=My Service After=network.target [Service] ExecStart=/path/to/myservice.sh Restart=always [Install] WantedBy=default.target ``` 在`ExecStart`行中,指定要执行的脚本或命令的路径。然后,使用以下命令来启用服务的自动启动: ```bash systemctl enable myservice ``` 这些是在Linux系统中设置自动启动脚本的基本步骤。根据你使用的发行版和init系统的不同,可能会有一些细微的差异,请根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值