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

嘿,你问我如何启动Linux,尤其是CentOS6 .9 这样的老系统。
让我给你一个概述。
有两种方法,具体取决于您想要简单粗暴的管理还是更精细的管理。

上周,一位客户问我...他想在他的服务器上运行计划任务,并希望它在启动时自动启动。
我向他解释了这两种方法。

第一种方法是修改/etc/rc.local。
这个东西在CentOS6 .9 上仍然有效,它是最后运行的脚本。
你用 vim /etc/rc.local 打开它,并在最后添加以下句子: 巴什 /bin/bash /server/scripts/qidong.sh > /dev/null 2 >&1
这行代码的含义是运行 /server/scripts/qidong.sh 脚本,然后在输出中不显示任何内容,并且不显示任何错误消息。
2 >&1 将标准错误输出重定向到标准输出并将它们一起丢弃。

修改后需要给/etc/rc.local文件添加执行权限,否则无法自行运行: 巴什 chmod +x /etc/rc.local
然后重启服务器,检查/tmp/qidong.log中是否有你的脚本执行的记录(这个必须提前创建,如果脚本写了日志,请确保这个文件是可写的)。

第二种方法是使用chkconfig来管理服务。
这种方法比较规范。
首先,进入 /etc/init.d/ 目录创建一个新脚本,例如名为 test: 巴什 将以下内容写入 vim /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 是执行级别(CentOS一般为3 ,表示多用户图形界面),8 8 是启动和关闭序列号。

保存后,给该脚本添加执行权限: 巴什 chmod +x /etc/init.d/test
然后将其添加到系统服务中: 巴什 chkconfig --add test
可以使用 chkconfig --list test 来查看第三个执行级别之前是否有“on”。

如果您以后不想使用它,您可以: 巴什 chkconfig test from
或者直接删除: 巴什 chkconfig --del 测试
但我需要提醒您几件事:
1 脚本路径和权限:无论你使用哪种方法,你的/server/scripts/qidong.sh脚本必须有执行权限,否则肯定无法运行。
使用 chmod +x /server/scripts/qidong.sh。
2 、日志文件:例如需要提前创建/tmp/qidong.log。
如果脚本写入日志,则该文件必须是可写的。
3 .系统兼容性:CentOS6 .9 使用旧的SysVinit,因此/etc/rc.local和chkconfig仍然有效。
但是,如果您迁移到 CentOS7 或更高版本,这些功能将停止工作,您必须使用 systemd 来管理 .service 文件。
4 、调试:如果脚本没有运行,首先检查系统日志/var/log/messages或者尝试手动运行脚本,看看脚本本身是否有问题。

总结一下:
简单场景:只需创建 /etc/rc.local 即可省去麻烦。
复杂服务:使用 chkconfig 更好地管理依赖关系和执行级别。

无论如何,这取决于你。
这两种方法在CentOS6 .9 上绝对有效。

centos7设置开机启动es

CentOS7 配置Elasticsearch启动。
直接步骤如下: 1 . 确保Elasticsearch已安装:rpm -qa | grep 弹性搜索 2 、安装Elasticsearch:rpm -Uvh elasticsearch-7 .1 0.1 -x8 6 _6 4 .rpm(假设版本为7 .1 0.1 ) 3 .导入Elasticsearch PGP密钥:rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 4 . 创建 Elasticsearch 存储库: cat > /etc/yum.repos.d/elasticsearch.repo < 7 . 重新加载systemd:systemctl daemon-reload 8 .启用Elasticsearch服务:systemctl enable elasticsearch.service 9 .启动Elasticsearch服务:systemctl start elasticsearch.service
如果Elasticsearch没有自带系统服务配置文件,请创建一个:
1 .创建文件:cat > /etc/systemd/system/elasticsearch.service < After=network.target
[服务] 类型=简单 ExecStart=/usr/share/elasticsearch/bin/elasticsearch ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/killer -s TERM $MAINPID 重置=始终 用户=弹性搜索 组=弹性搜索 运行时目录=elasticsearch RuntimeDirectoryMode=07 5 5
[安装] =multiuser.target 需要。
电眼 2 .使其生效:systemctl daemon-reload 3 .启用并启动:systemctlelasticsearch.serviceenable 4 . 启动服务:systemctl start elasticsearch.service
完成,Elasticsearch 现在应该在 CentOS7 上自动启动。

开机启动项怎么设置Linux设置开机启动的方法

嘿,我们来谈谈Linux的设置和启动。
这其实很有趣,因为不同的系统、不同的版本有不同的设置启动方式。

首先我们要说第一种方法,就是编辑rc.local脚本。
这个技巧简单明了。
您只需打开 vim 编辑器,编辑 /etc/rc.local 文件,然后添加要在启动时启动的脚本。
请记住在保存并退出后对 rc.local 文件设置执行权限,以便它可以在启动时运行。

我之前在一家小公司服务器上做过这个。
当时服务器上运行着一些必要的后台服务,这是通过直接编辑rc.local来完成的。

第二种方法是通过chkconfig进行设置。
这个技巧稍微复杂一点,但是非常实用。
您必须首先创建一个服务脚本,例如bootshell,然后编辑该脚本,设置chkconfig参数,并告诉系统该脚本应该在哪个执行级别启动和停止。

请记住,脚本必须在固定格式的开头包含这些行:
!/bin/sh 检查配置:2 3 4 5 1 0 01 描述:bootshell
告诉系统该脚本应该在运行级别 2 到 5 中启动,优先级为 1 0 以及 bootshell 的描述。

所以,你需要为这个脚本设置执行权限,然后使用chkconfig添加服务,使其出现在相应的rc.d目录中。
我已经在CentOS系统上尝试过这个方法,效果很好。

顺便说一句,CentOS服务启动脚本通常放在/etc/rc.d/init.d目录下,而/etc/init.d实际上是指向/etc/rc.d/init.d的链接。
系统初始化环境变量配置可以在该链接文件中找到。

当然,在启动时配置服务并不是一次性的事情。
有时您可能需要删除服务。
这时,只需使用chkconfig--del命令将其杀死即可。

一般来说,设置Linux启动的方法有很多种,但无论哪种,关键是掌握原理和步骤。
记得刚接触Linux的时候,在这方面走了很多弯路。
现在想起来,真是哭笑不得。
然而,实践带来真知。
多尝试几次,自然就明白了。