ubuntu 开机自启动shell脚本

在Ubuntu中,我们可以通过编写shell脚本并将其添加到systemd服务中,实现开机自动启动,这种方法的优点是可以在系统启动时自动执行脚本,无需手动运行,下面详细介绍如何实现这一功能。

1、编写shell脚本

ubuntu 开机自启动shell脚本

我们需要编写一个shell脚本,这个脚本将包含我们希望在开机时自动执行的命令,我们可以创建一个名为startup.sh的文件,内容如下:

!/bin/bash
echo "Hello, World!" > /tmp/hello.txt

这个脚本将在/tmp目录下创建一个名为hello.txt的文件,并在其中写入"Hello, World!"。

2、为脚本添加可执行权限

接下来,我们需要为脚本添加可执行权限,在终端中,使用以下命令:

chmod +x startup.sh

3、创建systemd服务文件

为了在开机时自动运行脚本,我们需要将其添加到systemd服务中,创建一个名为startup.service的文件,内容如下:

[Unit]
Description=Startup script
After=network.target
[Service]
Type=simple
User=root
ExecStart=/path/to/startup.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target

请将/path/to/替换为实际的脚本路径,这个文件定义了一个systemd服务,该服务在网络连接可用后(即network.target目标)启动,并使用root用户运行我们的脚本,如果脚本执行失败,服务将自动重启,该服务将被添加到multi-user.target目标中,这意味着它将在所有用户登录后启动。

ubuntu 开机自启动shell脚本

4、将服务添加到systemd

现在,我们需要将新创建的服务添加到systemd中,在终端中,使用以下命令:

sudo systemctl enable startup.service

5、测试开机自启动

为了确保一切正常,我们可以先尝试手动启动服务,然后查看日志以确认脚本已成功执行,使用以下命令:

sudo systemctl start startup.service
sudo journalctl -u startup.service --since today --no-pager --follow

如果一切正常,你应该会看到类似以下的输出:

-Logs begin at Wed 2022-01-05 12:34:56 CST, end at Wed 2022-01-05 12:35:01 CST. --
Jan 05 12:34:56 myhostname systemd[1]: Starting Startup script...
Jan 05 12:34:56 myhostname startup.sh[987]: Hello, World!
Jan 05 12:35:01 myhostname systemd[1]: Started Startup script.

至此,我们已经成功地将shell脚本添加到了Ubuntu的开机自启动中,每次开机时,脚本都会自动执行。

相关问题与解答

ubuntu 开机自启动shell脚本

问题1:如何取消开机自动启动?

答:要取消开机自动启动,可以使用以下命令:

sudo systemctl disable startup.service

这将从systemd中移除我们的服务,使其不再在开机时自动启动,请注意,这不会影响已经运行的服务实例,如果你希望立即停止服务,可以使用以下命令:

sudo systemctl stop startup.service

问题2:如何在开机时延迟执行脚本?

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/328216.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-02-22 07:28
Next 2024-02-22 07:33

相关推荐

  • Shell变量知识有哪些

    Shell变量知识是Linux系统中非常重要的知识点,掌握好Shell变量的知识,可以大大提高我们在Linux系统中的工作效率,本文将从Shell变量的定义、分类、设置方法、使用技巧等方面进行详细的介绍。一、Shell变量定义Shell变量是用来存储数据的命名字符串,它们可以包含文本、数字和命令等,在Shell中,变量名以字母、数字和……

    2023-11-18
    0111
  • shell脚本中的if判断

    Shell脚本中的if判断用于根据条件执行不同的命令,如:,,``bash,if [ 条件判断式 ]; then, # 如果条件成立,执行这里的命令,else, # 如果条件不成立,执行这里的命令,fi,``

    2024-01-24
    0189
  • Linux环境shell脚本获取时间的常用命令总结

    在Linux环境中,我们经常需要获取当前的时间,这可以通过shell脚本来实现,在shell脚本中,我们可以使用一些内置的命令来获取时间,这些命令包括date、time、uptime等,下面,我们将详细介绍这些命令的使用方法。1、date命令date命令是最常用的获取时间的命令,它可以显示当前的日期和时间,也可以设置输出的格式,默认情……

    2024-01-05
    0154
  • Linux中shell的比较运算符有哪些

    Linux中shell的比较运算符在Linux中,shell是一种命令行解释器,用于执行各种操作系统命令,在shell脚本中,我们可以使用比较运算符来比较两个值的大小关系,Linux中的比较运算符主要包括以下几种:1、等于(=)2、不等于(!=)3、大于(>)4、小于(<)5、大于等于(>=)……

    2023-12-16
    0132
  • linux shell多进程

    技术介绍在Linux系统中,Shell脚本是一种用于自动化任务的脚本语言,通过编写Shell脚本,我们可以实现对系统的批量操作,提高工作效率,有时候我们需要同时执行多个任务,这时候就需要使用到并发,并发是指在同一时间内,多个任务同时执行,在Linux中,我们可以使用Shell脚本实现多进程并发,本文将介绍如何在Linux中使用Shel……

    2024-01-03
    0211
  • shell 四则运算

    Shell脚本中的四则运算可以使用以下方式:,,- 双括号法:((表达式)),- expr命令法:expr 表达式,- let命令法:let 变量=表达式,- bc计算器实现

    2024-01-04
    0152

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入