linux添加开机启动脚本的方法
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,linux添加开机启动脚本的方法:系统启动时需要加载的配置文件/etc/profile、/root/.bash_profile/etc/bashrc、/root/.bashrc/etc/profile
千家信息网最后更新 2025年12月02日linux添加开机启动脚本的方法
linux添加开机启动脚本的方法:
系统启动时需要加载的配置文件
/etc/profile、/root/.bash_profile
/etc/bashrc、/root/.bashrc
/etc/profile.d/*.sh、/etc/profile.d/lang.sh
/etc/sysconfig/i18n、/etc/rc.local(/etc/rc.d/rc.local)
一、修改开机启动文件:/etc/rc.local(或者/etc/rc.d/rc.local)
# 1.编辑rc.local文件[root@localhost ~]# vi /etc/rc.local # 2.修改rc.local文件,在 exit 0 前面加入以下命令。保存并退出。/etc/init.d/mysqld start # mysql开机启动/etc/init.d/nginx start # nginx开机启动supervisord -c /etc/supervisor/supervisord.conf # supervisord开机启动/bin/bash /server/scripts/test.sh >/dev/null 2>/dev/null # 3.最后修改rc.local文件的执行权限[root@localhost ~]# chmod +x /etc/rc.local[root@localhost ~]# chmod 755 /etc/rc.local
二、自己写一个shell脚本
将写好的脚本(.sh文件)放到目录 /etc/profile.d/ 下,系统启动后就会自动执行该目录下的所有shell脚本。
三、通过chkconfig命令设置
# 1.将(脚本)启动文件移动到 /etc/init.d/或者/etc/rc.d/init.d/目录下。(前者是后者的软连接)mv /www/wwwroot/test.sh /etc/rc.d/init.d # 2.启动文件前面务必添加如下三行代码,否侧会提示chkconfig不支持。#!/bin/sh 告诉系统使用的shell,所以的shell脚本都是这样#chkconfig: 35 20 80 分别代表运行级别,启动优先权,关闭优先权,此行代码必须#description: http server 自己随便发挥!!!,此行代码必须/bin/echo $(/bin/date +%F_%T) >> /tmp/test.log # 3.增加脚本的可执行权限chmod +x /etc/rc.d/init.d/test.sh # 4.添加脚本到开机自动启动项目中。添加到chkconfig,开机自启动。[root@localhost ~]# cd /etc/rc.d/init.d[root@localhost ~]# chkconfig --add test.sh[root@localhost ~]# chkconfig test.sh on # 5.关闭开机启动[root@localhost ~]# chkconfig test.sh off # 6.从chkconfig管理中删除test.sh[root@localhost ~]# chkconfig --del test.sh # 7.查看chkconfig管理[root@localhost ~]# chkconfig --list test.sh
四、自定义服务文件,添加到系统服务,通过Systemctl管理
1.写服务文件:如nginx.service、redis.service、supervisord.service
[Unit]:服务的说明Description:描述服务After:描述服务类别 [Service]服务运行参数的设置Type=forking 是后台运行的形式ExecStart 为服务的具体运行命令ExecReload 为服务的重启命令ExecStop 为服务的停止命令PrivateTmp=True 表示给服务分配独立的临时空间注意:启动、重启、停止命令全部要求使用绝对路径 [Install] 服务安装的相关设置,可设置为多用户WantedBy=multi-user.target
2.文件保存在目录下:以754的权限。目录路径:/usr/lib/systemd/system。如上面的supervisord.service文件放在这个目录下面。
[root@localhost ~]# cat /usr/lib/systemd/system/nginx.service[root@localhost ~]# cat /usr/lib/systemd/system/supervisord.service
3.设置开机自启动(任意目录下执行)。如果执行启动命令报错,则执行:systemctl daemon-reload
设置开机自启动[root@localhost ~]# systemctl enable nginx.service [root@localhost ~]# systemctl enable supervisord 停止开机自启动[root@localhost ~]# systemctl disable nginx.service[root@localhost ~]# systemctl disable supervisord 验证一下是否为开机启动[root@localhost ~]# systemctl is-enabled nginx[root@localhost ~]# systemctl is-enabled supervisord
4.其他命令
启动nginx服务[root@localhost ~]# systemctl start nginx.service 停止nginx服务[root@localhost ~]# systemctl start nginx.service 重启nginx服务[root@localhost ~]# systemctl restart nginx.service 查看nginx服务当前状态[root@localhost ~]# systemctl status nginx.service 查看所有已启动的服务[root@localhost ~]# systemctl list-units --type=service
5.服务文件示例:
# supervisord.service进程管理服务文件[Unit]Description=Process Monitoring and Control Daemon # 内容自己定义:Description=Supervisor daemonAfter=rc-local.service nss-user-lookup.target [Service]Type=forkingExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.confExecStop= /usr/bin/supervisorctl shutdownExecReload=/usr/bin/supervisorctl reloadRestart=on-failureRestartSec=42sKillMode=process [Install]WantedBy=multi-user.target
# nginx.service服务文件[Unit]Description=nginx - high performance web serverAfter=network.target remote-fs.target nss-lookup.target [Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s stop [Install]WantedBy=multi-user.target
# redis.service服务文件[Unit]Description=RedisAfter=network.target remote-fs.target nss-lookup.target [Service]Type=forkingExecStart=/usr/local/bin/redis-server /etc/redis.confExecStop=kill -INT `cat /tmp/redis.pid`User=wwwGroup=www [Install]WantedBy=multi-user.target
以上就是linux怎样添加开机启动脚本?的详细内容,更多请关注其它相关文章!
服务
文件
脚本
命令
目录
系统
管理
运行
代码
权限
优先权
内容
路径
方法
代表
参数
后台
如上
就是
形式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库修改sql语句
数据库自动代码工具
对日软件开发面试内容有哪些
数据库的基本操作心得体会
专业做架构的软件开发
mx解析需要服务器吗
金融 互联网 科技
四川智慧党建软件开发公司
佳都科技为工业互联网发展建议
虚拟主机单个服务器
数据库集群是什么意思
触摸屏 用什么软件开发
狂野飙车9ns与服务器同步
软件开发中渲染是什么意思
安应用app用什么软件开发
临沂铭途网络技术有限公司
手机怎么更换信息服务器
电子通信包括计算机网络技术吗
福山区直播软件开发
魔兽世界服务器多钱一台
数据库ecode
网络安全健康上网的书签
西城区网络软件开发价格实惠
企业文件服务器找哪个软件好
wow 70 数据库
软件开发教学业务分析
海外网网络安全
怀旧服服务器法师天赋
一万服务器管理
存储文本数据使用什么数据库