Debian添加开机启动项

有的时候,我们需要开机自动运行一些脚本 。今天介绍一个简单的方法,实现将自己需要的程序添加到开机启动项中,并使其在系统启动后自动执行。

首先,进入 /etc/init.d 目录。
然后,我们使用 ls 命令,会发现里面有一些文件。这些文件就是在开机启动时自动运行的程序。我们现在来开始添加一个自定义的开机启动项mystart.sh :

你可以使用你自己喜欢的文本编辑工具进行编辑工作。此文以 vim 为例。

然后,在继续之前,先看一下开机启动项文件的一个模板:

#!/bin/sh

### BEGIN INIT INFO
# Provides: [程序名称,唯一]
# Required-Start: networkremote_fs local_fs
# Required-Stop:network remote_fslocal_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: [启动项的简短说明]
# Description: [启动项的完整说明]
### END INIT INFO

[需要执行的命令]

exit 0

在这个模板中,Provides 是唯一的,也就是在所有的开机启动项中,Provides不能有任何同名冲突。

Short-Description 和 Description 随心情写。

需要执行的命令,按照正常的Bash Shell书写方式书写即可。

友情提示:需要后台静默运行的程序,请使用 nohup [需要执行的命令] >/dev/null 2>&1 &方式来启动!

最后的 exit 0 请不要删除!这个是返回正常退出信号的一个传值!

那么,我们设想我们需要创建一个名为mystart.sh的开机启动项,并要求其在开机时自动同步时间(假设ntpdate已经安装’apt install ntpdate’),根据上面的模板,我们需要修改成这个样子:

#!/bin/sh

### BEGIN INIT INFO
# Provides: mystart
# Required-Start: networkremote_fs local_fs
# Required-Stop:network remote_fslocal_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mystart
# Description: executed when the system starts
### END INIT INFO

/usr/sbin/ntpdate time.nist.gov|logger -t NTP
/usr/sbin/hwclock -w

exit 0

之后将文件保存,关闭编辑器。

接下来,我们将刚才编辑好的mystart.sh文件加上可执行的属性(如果不加属性,启动脚本将无法运行):

chmod +x mystart.sh
然后,将这个启动脚本加入开机启动项中:

update-rc.d mystart.sh defaults
然后重新启动系统,或者命令行执行 /etc/init.d/mystart.sh ,执行启动脚本。

如何删除我们刚才创建的开机启动项呢?

答案很简单,只需要一条命令:

update-rc.d -f mystart.sh remove

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《Debian添加开机启动项》
文章来自:泰恩数据
文章链接:https://tyne.cc/982.html
本站资源仅供个人学习使用,请勿用于商业用途。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址