HCRM博客

如何在CentOS 7上创建和管理启动脚本?

在CentOS 7中,设置启动脚本的方法有多种,以下是几种常见的方法:

1. 使用/etc/rc.d/rc.local 文件

如何在CentOS 7上创建和管理启动脚本?-图1
(图片来源网络,侵权删除)

步骤:

1、编辑文件

使用文本编辑器打开/etc/rc.d/rc.local 文件。

```bash

sudo vi /etc/rc.d/rc.local

```

如何在CentOS 7上创建和管理启动脚本?-图2
(图片来源网络,侵权删除)

2、添加命令

在文件的末尾添加你需要自启动的命令或脚本。

```bash

#!/bin/sh

/usr/local/apache/bin/apachectl start

```

如何在CentOS 7上创建和管理启动脚本?-图3
(图片来源网络,侵权删除)

3、赋予执行权限

确保/etc/rc.d/rc.local 文件具有可执行权限:

```bash

sudo chmod +x /etc/rc.d/rc.local

```

4、注意事项

由于/etc/rc.d/rc.local 可能与其他服务并行执行,如果需要在某个特定服务之后运行,可以在脚本中添加判断逻辑或睡眠延时。

2. 使用/etc/rc.d/init.d/ 目录和chkconfig 命令

步骤:

1、创建脚本

编写启动脚本并将其保存到/etc/rc.d/init.d/ 目录下。

```bash

sudo nano /etc/rc.d/init.d/myscript

```

2、编辑脚本

在脚本中添加你需要自启动的命令或程序。

```bash

#!/bin/bash

# chkconfig: 2345 90 10

# description: auto_run

cd /opt/swsk/ShellCmd

python3 sh_krbInit.py > nohup.log 2>&1 &

```

3、赋予执行权限

确保脚本具有可执行权限:

```bash

sudo chmod +x /etc/rc.d/init.d/myscript

```

4、使用chkconfig 命令添加自启动

```bash

sudo chkconfig add myscript

sudo chkconfig myscript on

```

3. 使用systemd 服务单元文件

步骤:

1、编写服务单元文件

/etc/systemd/system/ 目录下创建一个新的服务单元文件,例如myservice.service如下:

```ini

[Unit]

Description=My Custom Service

After=network.target remotefs.target nsslookup.target

[Service]

Type=forking

ExecStart=/path/to/your/script.sh

ExecReload=/path/to/reload

ExecStop=/path/to/stop

PrivateTmp=true

[Install]

WantedBy=multiuser.target

```

2、保存并关闭文件

3、设置开机自启

```bash

sudo systemctl enable myservice.service

```

4、启动服务

```bash

sudo systemctl start myservice.service

```

4. 使用Crontab 定时任务(非推荐)

虽然crontab 主要用于定时任务,但也可以在系统启动时执行脚本,这种方法不推荐用于开机启动脚本,但可以作为补充手段。

步骤:

1、编辑crontab 文件

```bash

crontab e

```

2、添加启动命令

在文件中添加以下内容:

```ini

@reboot /path/to/your/script.sh

```

相关问答FAQs

Q1: 为什么/etc/rc.d/rc.local 文件在某些情况下不会在所有其他服务之后运行?

A1: 在CentOS 7中,由于引导过程中并行执行的原因,/etc/rc.d/rc.local 文件可能不会在所有其他服务之后运行,如果需要在某个特定服务之后运行,可以在脚本中添加判断逻辑或睡眠延时,以确保依赖的服务已经启动完成。

Q2: 如何验证开机启动脚本是否成功执行?

A2: 你可以通过以下方法验证开机启动脚本是否成功执行:

1、查看日志:检查系统日志或应用日志,确认是否有相关的错误或成功信息。

2、手动测试:重新启动系统后,检查脚本是否按预期运行并产生了预期的结果。

3、调试输出:在脚本中添加调试输出,如echo 命令,将输出重定向到日志文件,以便查看脚本的执行情况。

分享:
扫描分享到社交APP
上一篇
下一篇