Linux配置开机自启动执行脚本的两种方法

上周,有客户询问如何在CentOS6 .9 系统上配置开机自动启动脚本。
我向他介绍了两种常用的方法。
首先是编辑 /etc/rc.local 文件。

首先,用vim打开这个文件,并在文件末尾添加脚本的绝对路径。
示例:/bin/bash/server/scripts/qidong.sh > /dev/null 2 >&1 其中>/dev/null2 >&1 是忽略脚本的输出和错误消息。

然后不要忘记设置/etc/rc.local文件的执行权限并使用chmod命令(chmod +x /etc/rc.local)。
设置权限后,重新启动系统以查看脚本是否运行。
您可以通过检查 /tmp/qidong.log 文件的内容来检查这一点。

第二种方法是通过chkconfig来管理服务。
首先,在 /etc/init.d/ 目录中创建一个名为 test 的新脚本文件。
文件内容大致如下:
!/bin/bash 检查配置:3 8 8 8 8 /bin/bash/server/scripts/qidong.sh > /dev/null 2 >&1
这里chkconfig:3 8 8 8 8 指定脚本以运行级别3 启动,启动/关闭顺序为8 8
设置脚本权限:chmod +x /etc/init.d/test。
然后使用chkconfig命令将该服务添加到系统启动项chkconfig --add test中。
您可以使用 chkconfig --list test 检查该服务是否启用。
输出应该表明运行级别 3 已打开。

需要注意的是脚本路径正确,脚本有执行权限,日志文件路径存在且可写。
CentOS6 .9 使用SysVinit来初始化系统,所以chkconfig和/etc/rc.local都适用。
如果您使用的是 CentOS7 +,您可能需要使用 .service 单元文件。

如果您的脚本无法运行进行调试,您可以检查系统日志(/var/log/messages)或手动运行脚本测试。

对于简单的场景,我们推荐使用/etc/rc.local,因为配置简单,不需要额外的服务管理。
如果您的服务更复杂,您可以使用 chkconfig 在控制执行级别和依赖项方面提供更大的灵活性。
您可以根据需要选择适当的方法并确保脚本的健壮性。
我还在想这个。
这是一种在脚本失败时更有效地记录错误信息的方法。

CentOS怎么执行sh文件_CentOS运行Shell脚本的权限与命令教程

CentOS上执行shell脚本直接使用chmod+x授予权限。

shebang 使用 !/bin/bash 来指定解释器。
要直接使用
./your_script.sh 运行它,您需要将 shebang 添加到脚本的第一行。

不要使用绝对路径在当前目录中运行脚本。

为了进行调试,请使用 bashyour_script.sh 而不是 chmod+x。

sourceyour_script.sh 会污染您当前的 Shell 环境。

Windows到Linux的脚本使用dos2 unix来转换编码。

命令路径的问题在于脚本显式导出了 PATH。

语法错误可以使用 bash -n 检查并使用 bash -x 进行调试。

对于 SELinux 问题,请使用 setenforce0 暂时终止测试。

要在后台运行,请使用 nohup./your_script.sh &。

使用 crontab -e 配置 cron 作业。
您必须使用绝对路径。

将 set -euo Pipefail 添加到脚本中以避免出现鲁棒性问题。

使用 echo "Error:..." >&2 记录错误。

为了您的安全,请勿以 root 身份运行不必要的脚本。

检查输入以防止命令注入。

要检查文件是否存在,请在 rm 之前使用 [-f "$file"]。

自己掂量一下。

CentOS文件怎么编辑文件_CentOS常用文件编辑命令教程

Vim 是 CentOS 中功能强大的内核编辑器。

使用Vim处理复杂的配置文件。
在终端中输入 vim /etc/sysconfig/network-scripts/ifcfg-eth0 打开该文件。

命令模式: h,j,k,l 移动光标。
dd 删除行。
yy复制行。
粘贴。
不间断。

插入方式: i 被插入到光标之前。
a 插入到标记之后。
o插入新行下方。

最后一行模式: :输入。
:w 保存。
: 出口。
:wq保存并退出。
:%s/old/new/g 全局替换。

高级提示: :%s/^.//g删除注释行。
:sp 水平分割窗口。
:tabnew 创建一个新标签页。

Nano适合简单的修改。
在终端中输入 nano /etc/fstab 将其打开。

^O保存,^X退出。

选择工具: 使用 Vim 执行复杂任务。
使用 Nano 进行简单修改。
使用 sed 作为脚本。

不要使用图形编辑器来编辑系统文件。