Linux 系统设置sh文件开机自启动

本文介绍了一种简单的Linux服务开机自启动配置方法。通过编辑rc.local文件并添加启动命令实现服务随系统启动而自动运行,有效避免因断电重启导致的服务中断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   工作中有一个linux下的服务需要启动,但是机器总是断电,导致需要反复启动,找了一下开机自启动的方法,解决了这个问题。Linux设置开机自启动非常简单,只要找到rc.local文件,将你需要自启动的文件加进去即可。我的linux服务器的rc.local文件在/etc文件夹下。rc.local文件没有修改之前是这样滴:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

 

在文件下方直接添加你需要自启动文件的路径,然后直接写上启动命令,修改后的文件如下:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

cd /root/apache-tomcat-6.0.37/bin
./startup.sh

 

 

是不是非常简单呢

转载于:https://www.cnblogs.com/DylanZ/p/5864771.html

<think>好的,用户想知道嵌入式Linux系统如何设置脚本文件开机自启动。我需要先回忆一下相关的知识,确保回答正确。嵌入式Linux通常使用不同的初始化系统,比如传统的SysVinit、Upstart或者现在比较常见的systemd。不同的系统有不同的配置方法,所以第一步应该确定用户使用的是哪种初始化系统。 接下来,可能需要分步骤讲解不同情况下的设置方法。比如,如果是SysVinit,通常是在/etc/init.d/下放脚本,然后用update-rc.d或者chkconfig来启用。而对于systemd,就需要创建.service文件,放在/etc/systemd/system/下,然后执行systemctl enable命令。 用户可能对如何编写这些脚本或服务文件不太清楚,需要给出具体的例子,比如一个简单的启动脚本应该包含哪些部分,如何赋予执行权限。另外,可能还要提醒用户检查脚本的路径是否正确,避免因为路径问题导致启动失败。 还要考虑用户的嵌入式系统可能有不同的文件系统结构,比如是否只读,这时候可能需要用户挂载文件系统为可写才能修改相关配置。此外,权限问题也很重要,脚本需要有执行权限,否则无法运行。 用户可能遇到的问题包括脚本没有执行权限、依赖的服务未启动、或者启动顺序不对,这些都需要在回答中提到,帮助用户排查常见问题。另外,测试方法也很重要,比如如何手动启动服务,如何查看日志来确认是否成功。 最后,总结一下步骤,确保用户能够按照清晰的流程操作,避免遗漏关键步骤。同时,提醒用户根据自己系统的具体情况选择合适的方法,因为不同的嵌入式环境可能有差异。</think>嵌入式Linux系统设置脚本开机自启动主要通过以下步骤实现,具体方法取决于系统使用的初始化系统: 一、判断初始化系统类型 1. 查看`/sbin/init`文件链接: ```bash ls -l /sbin/init ``` - 若指向`systemd`:使用Systemd方案 - 若指向`init`:使用SysVinit方案 二、Systemd系统配置方法(主流方案) 1. 创建服务文件 ```bash sudo vi /etc/systemd/system/myscript.service ``` 2. 编写服务内容示例: ```ini [Unit] Description=My Custom Script After=network.target [Service] ExecStart=/path/to/your_script.sh Restart=on-failure [Install] WantedBy=multi-user.target ``` 3. 启用服务 ```bash sudo systemctl enable myscript.service ``` 三、SysVinit系统配置方法(传统方案) 1. 将脚本放入`/etc/init.d/` ```bash sudo cp your_script.sh /etc/init.d/myscript ``` 2. 添加执行权限 ```bash sudo chmod +x /etc/init.d/myscript ``` 3. 设置启动级别 ```bash sudo update-rc.d myscript defaults # Debian系 或 sudo chkconfig --add myscript # RedHat系 ``` 四、其他通用方法 1. rc.local方式(适用于简单脚本) ```bash sudo vi /etc/rc.local ``` 在`exit 0`前添加: ```bash /path/to/your_script.sh & ``` 五、注意事项 1. 脚本调试: - 添加日志输出:`exec > /var/log/myscript.log 2>&1` - 测试时先手动执行验证 2. 路径问题: - 使用绝对路径 - 设置环境变量`PATH` 3. 权限管理: - 确保脚本有执行权限 - 必要时配置用户权限 4. 启动顺序: - 关键服务(如网络)就绪后再执行 5. 嵌入式特殊考虑: - 文件系统可能为只读,需重新挂载为可写: ```bash mount -o remount,rw / ``` - 使用`busybox`时需注意兼容性 六、验证方法 1. 重启系统后检查: ```bash ps aux | grep your_script ``` 2. 查看服务状态(Systemd): ```bash systemctl status myscript.service ``` 请根据实际系统环境选择合适方案,建议优先使用Systemd方案。测试时可通过`Ctrl+Alt+Del`软重启验证,避免直接断电导致系统损坏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值