Linux 利用systemd开机自启shell脚本

3 篇文章 0 订阅

 

 

1、编写脚本

$ sudo vim /opt/hello.sh

脚本内容:

#!/bin/bash
while true
do
  #打印hello world ,sleep 1 是每隔一秒打印一次
  echo hello world >> /tmp/hello.log
  #打印当前系统时间
  echo $(date +%Y%m%d-%H%M%S)
  sleep 1
done

2、赋予hello.sh 执行权限

$sudo chmod 0755 /opt/hello.sh

3、创建Unit定义文件

在/etc/systemd/system 下

$sudo vim /etc/systemd/system/hello.service

hello.service 内容如下:

[Unit]
Description = hello daemon

[Service]
ExecStart = /opt/hello.sh
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target

Unit中一般分三个部分【Unit/Service/Install】

Unit中主要是对服务的说明,里面有两个参数:Description(用于描述服务),After(用于描述服务启动的依赖);

Sevice中主要是设置运行参数,里面参数的意思:ExecStart (服务的具体运行命令),Restart = always(进程时服务意外故障的时候可以自动重启的模式),Type = simple(表示其余选项均为系统默认);

Install中主要是服务安装的相关设置。

4、把Unit添加进Service

$sudo systemctl list-unit-files --type=service |grep hello

list-unit-files --type 是列出所有启动文件

正常会输出:

hello.service                          disabled

5、启动服务

$sudo systemctl enable hello     # 开机自动启动on

此时参数中的enable换成disable就是禁止开启自动启动

$sudo systemctl start hello   # 单次开机启动

此时参数中的start换成stop就是停止服务

$sudo systemctl status hello   #运行状态确认

6、看脚本运行是否正常

$tailf /tmp/hello.log

tailf是跟踪日志文件

7、重启机器

再次查看第6步的log文件,如果能正常输出,就是成功了

$sudo reboot  #重启

希望对需要的人有帮助

 

 

 

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: 开机shell脚本自启动程序是一种在计算机开机时自动执行的脚本程序。这种方法通常用于需要在系统启动后自动执行某些操作的情况。 要实现这个功能,我们可以按照以下步骤进行操作: 1. 首先,我们需要编写一个Shell脚本程序。这个脚本程序可以包含我们需要在系统启动时执行的命令或操作。可以使用任何喜欢的文本编辑器来创建脚本文件,比如vi或nano。 2. 在脚本程序中,我们可以将需要在系统启动时自动执行的命令或操作添加到脚本中。这可以是启动特定应用程序的命令、挂载文件系统的命令或其他需要在系统启动后进行的任何操作。确保在脚本末尾添加一个适当的结束命令,以避免脚本无限循环。 3. 保存脚本文件并将其复制到系统的适当位置。在大多数Linux系统中,可以将脚本文件保存在/etc/init.d/目录中,这是系统启动时自动运行的脚本的默认位置。然后,将脚本文件设置为可执行权限,可以使用命令chmod +x脚本文件名来实现。 4. 接下来,我们需要将脚本添加到系统启动顺序中。在大多数Linux发行版中,可以使用chkconfig或update-rc.d命令来实现这一点。比如,可以使用命令chkconfig --add脚本文件名来将脚本添加到系统启动顺序中。 5. 最后,重新启动计算机。当计算机重新启动时,系统将自动执行我们编写的脚本程序,并运行其中的命令或操作。 通过以上步骤,我们可以实现开机shell脚本自启动程序的功能。这种方法非常灵活,可以满足我们对系统启动后自动执行某些操作的需求。 ### 回答2: 在Linux或Unix系统中,可以使用开机shell脚本自启动程序。以下是一个示例的步骤: 1. 创建启动脚本:首先,使用任意文本编辑器创建一个以`.sh`结尾的脚本文件,例如`startup.sh`。 2. 编写脚本内容:在脚本文件中,使用Shell语法编写启动程序的命令。例如,如果要启动一个叫做`myprogram`的程序,可以在脚本中写入: ``` #!/bin/bash /path/to/myprogram ``` 其中`/path/to/myprogram`是要启动的程序的路径。 3. 设置脚本权限:在终端中,运行以下命令将脚本文件设置为可执行权限: ``` chmod +x startup.sh ``` 4. 将脚本添加到启动项:将脚本文件移动到系统的启动项目录下,通常是`/etc/init.d/`目录。运行以下命令: ``` sudo mv startup.sh /etc/init.d/ ``` 5. 更新启动配置:在终端中运行以下命令,将脚本添加到启动配置中: ``` sudo update-rc.d startup.sh defaults ``` 现在,在下一次系统启动时,脚本中的启动程序将自动运行。 注意:上述步骤是适用于使用init系统的Linux系统,如Ubuntu 14.04及更低版本。如果您使用的是systemd系统(例如,Ubuntu 16.04及更高版本),则需要使用systemd单位文件进行启动项配置。 希望这些步骤能帮助您实现开机自启动程序。 ### 回答3: 开机shell脚本自启动程序是一种在计算机开机时通过shell脚本自动启动特定程序的方法。以下是一个示例的步骤,可用于实现这个功能。 首先,我们需要创建一个shell脚本文件。可以在系统的任何位置创建这个文件,以便在开机启动程序。我们可以使用文本编辑器(如vi或nano)创建一个新文件,并为其添加.sh文件扩展名。 接下来,在shell脚本文件中添加启动程序所需的命令。例如,如果要启动一个叫做myprogram的程序,可以在脚本中写入如下命令:`./myprogram`。 保存并关闭脚本文件后,需要将其移动到系统的合适位置。通常情况下,可以将脚本文件移到 /etc/init.d/ 目录下。 然后,需要在shell中运行以下命令,以设置脚本文件为可执行文件:`chmod +x /etc/init.d/脚本文件名.sh`。 接下来,可以使用以下命令将脚本文件添加为开机启动项:`sudo update-rc.d 脚本文件名.sh defaults`。 现在,脚本文件已经设置为在开机时自动运行。 要验证脚本是否正确设置为自启动,可以重新启动计算机,并查看所需的程序是否已经自动启动。 需要注意的是,具体的步骤可能会根据操作系统和具体需求稍有不同,上述步骤适用于大多数Linux系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wyn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值