ubuntu添加shell脚本自启动

脚本自启动,如果觉得使用 service 方式较为复杂,另一种更简单的方法是将shell脚本如:hello.sh,添加到 /etc/rc.local 文件中。rc.local 可以在系统启动时执行脚本,并且可以直接在脚本中使用 sudo

步骤:

  1. 编辑 /etc/rc.local 文件

    sudo nano /etc/rc.local
    
  2. rc.local 中添加脚本的调用
    exit 0 之前添加以下行:

    sudo /home/aaa/hello.sh
    

    注意:确保 /etc/rc.local 文件有可执行权限,如果没有,请运行以下命令:

    sudo chmod +x /etc/rc.local
    
  3. 确保脚本能正常执行
    确保脚本 hello.sh 中的命令能够执行,如果需要被 sudo 执行。可以通过 sudo visudo 修改 sudoers 文件,添加无密码执行权限,例如:

    aaa ALL=(ALL) NOPASSWD: /home/aaa/hello.sh
    

这样设置后:

每次系统启动时,/etc/rc.local 将以 root 权限自动执行 hello.sh 脚本,而无需复杂的 systemd 配置。

注意

需要注意的是,在 Ubuntu 20.04 中,/etc/rc.local 文件默认是不存在的,但可以手动创建并启用它。

启用 rc.local 的步骤

  1. 创建 rc.local 文件
    如果 /etc/rc.local 文件不存在,可以手动创建:

    sudo nano /etc/rc.local
    

    在文件中添加以下内容:

    #!/bin/bash
    # rc.local
    
    sudo /home/aaa/hello.sh
    
    exit 0
    
  2. 修改权限
    确保 rc.local 文件有执行权限:

    sudo chmod +x /etc/rc.local
    
  3. 创建 rc-local.service 文件
    如果系统中没有服务文件来管理 rc.local,您可以手动创建一个:

    sudo nano /etc/systemd/system/rc-local.service
    

    内容如下:

    [Unit]
    Description=/etc/rc.local Compatibility
    ConditionPathExists=/etc/rc.local
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=/etc/rc.local start
    TimeoutSec=0
    RemainAfterExit=yes
    GuessMainPID=no
    
    [Install]
    WantedBy=multi-user.target
    
  4. 启动并启用服务
    运行以下命令来启用和启动 rc-local 服务:

    sudo systemctl enable rc-local
    sudo systemctl start rc-local
    
  5. 检查服务状态
    可以检查服务是否正常运行:

    sudo systemctl status rc-local
    

完成这些步骤后,rc.local 将在每次开机时自动执行,就可以用它来启动shell脚本了,当然也可以直接在rc.local添加你想要执行的命令。

Ubuntu中,可以使用不同的方法来设置自启动shell脚本。其中一种方法是通过编辑`/etc/rc.local`文件来实现。这个文件包含了在系统启动时执行的命令。你可以将你的shell脚本添加到这个文件中,使其在系统启动时自动运行。 另一种方法是通过创建一个`rc-local.service`脚本来设置shell脚本的开机启动。你可以在Ubuntu20.04中使用这个方法。首先,你需要完善`rc-local.service`脚本。然后,将你的shell脚本添加到这个脚本中,并将其设置为开机启动。 还有一种方法是使用`update-rc.d`命令来添加或禁止开机启动项。你可以使用这个命令来管理系统的启动项。具体来说,你可以使用`update-rc.d`命令来添加你的shell脚本,使其在系统启动时自动运行。 综上所述,你可以通过编辑`/etc/rc.local`文件、创建`rc-local.service`脚本或使用`update-rc.d`命令来设置Ubuntu中的自启动shell脚本。具体的方法取决于你的系统版本和个人偏好。希望这些信息可以帮助到你。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ubuntu中编写shell脚本开机自动启动(推荐)](https://download.csdn.net/download/weixin_38641366/12841566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Ubuntu 实现shell文件的开机运行(从原理到实现)](https://blog.csdn.net/Flag_ing/article/details/126146956)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值