简介
systemd是linux系统中的一个初始化系统和服务管理器。它可以用于在系统启动时自动运行shell脚本。
crontab是一个用于定时执行任务的工具。我们可以通过编辑crontab文件来设置开机自启动
前提条件
创建一个shell脚本文件,例如myscript.sh。该脚本将在系统启动时自动运行。
将脚本文件移动到一个合适的目录,例如/path/to/myscript.sh。
使用systemd服务
创建一个.service文件
[unit] description=my script service after=network.target [service] execstart=/path/to/myscript.sh [install] wantedby=default.target
将.service文件移动到/etc/systemd/system/目录下。
service文件内容详解
[unit] description=my script service after=network.target description:描述服务的简短说明 after:指定了服务应该在哪个目标(target)之后启动,在这里是"network.target",则服务需要在网络启动之后才能正常运行 [service] execstart=/path/to/myscript.sh execstart:指定了服务启动时的执行命令或脚本的路径 [install] wantedby=default.target wantedby:指定了服务应该被关联到哪个目标(target)进行启动,默认为"default.target",意味着服务会随系统的默认目标一起启动。 #刷新systemd服务: sudo systemctl daemon-reload #使用以下命令来启用服务并使其在系统启动时自动运行: sudo systemctl enable myscript.service #使用以下命令手动启动服务: sudo systemctl start myscript.service
注意:
- 若你此时手动启动服务,它将会立即运行。
- 但是,系统重启后,服务会自动启动。
使用crontab
打开终端,并输入以下命令来编辑crontab文件:
crontab -e #在打开的文件中添加以下内容: @reboot /path/to/myscript.sh #/path/to/myscript.sh是你的shell脚本文件的路径
保存并退出编辑器。
结束语
使用服务和crontab两种方法在linux系统中实现开机自启动shell脚本的步骤,当系统启动时,shell脚本将自动运行。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论