系统自检时启动
1. 新建自启脚本
vim start_nginx.sh
systemctl start nginx
2.赋执行权限
chmod 777 start_nginx.sh # 给自己脚本赋执行权限
chmod 777 /etc/rc.d/rc.local # 给启动脚本赋执行权限
3.添加启动命令
vim /etc/rc.d/rc.local # 打开这个
/root/server_sh.sh # 添加这个
重启测试
reboot
基于定时任务启动
crontab -e
@reboot /home/user/test.sh
rc.local 解析
rc.local是一个在系统启动时自动执行的脚本文件,它位于/etc目录下。在CentOS中,rc.local文件中的命令会在所有系统服务启动之后执行,因此它通常用于启动一些自定义的服务或执行一些自定义的命令。
rc.local文件的使用非常简单,只需要在文件中添加需要执行的命令即可。例如,如果您想在系统启动时启动一个名为“my_service”的自定义服务,可以在rc.local文件中添加以下命令:
systemctl start my_service
需要注意的是,rc.local文件需要具有可执行权限,否则它的命令将不会被执行。您可以使用以下命令为rc.local文件添加可执行权限:
chmod +x /etc/rc.local
另外,需要注意的是,CentOS 7及以上版本默认情况下并不会启用rc.local文件。如果您想使用rc.local文件,需要手动启用它。具体方法是,在/etc/systemd/system目录下创建一个名为rc-local.service的文件,并添加以下内容:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
然后,使用以下命令启用rc-local.service服务:
systemctl enable rc-local.service
这样,rc.local文件就会在系统启动时自动执行。
附解
在CentOS中,rc.d
文件夹是一个系统启动脚本的存储位置,它包含了系统启动和关闭时需要执行的所有脚本。这些脚本通常被称为“启动脚本”或“服务脚本”,它们用于启动、停止、重启和管理系统服务。
rc.d文件夹包含了以下子目录:
1. rc0.d:系统关闭时需要执行的脚本。
2. rc1.d:单用户模式下需要执行的脚本。
3. rc2.d:多用户模式下不带NFS服务需要执行的脚本。
4. rc3.d:多用户模式下带NFS服务需要执行的脚本。
5. rc4.d:保留目录,通常不需要使用。
6. rc5.d:图形界面模式下需要执行的脚本。
7. rc6.d:系统重启时需要执行的脚本。
每个子目录中都包含了以“K”或“S”开头的一系列脚本文件,它们分别代表了需要在系统启动或关闭时执行的脚本。以“K”开头的脚本表示需要在系统关闭时执行,而以“S”开头的脚本表示需要在系统启动时执行。这些脚本文件的命名规则是“K/S + 数字 + 服务名称”,数字表示脚本执行的顺序,数字越小的脚本先执行,数字相同的脚本按照字母顺序执行。
通过修改rc.d文件夹中的脚本文件,可以实现自定义系统服务的启动、停止和管理。