ubuntu中设置开机自动运行的(sudo)指令

ubuntu版本:22.04.4

在Ubuntu中设置开机自动运行某一条(需要sudo权限的)指令,我们可以通过编辑系统的启动脚本来实现:

  1. 创建一个新的启动脚本 :创建一个新的脚本文件,并将其放置在 /etc/init.d/ 目录下。这个目录下的脚本会在系统启动时自动运行。

  2. 编写脚本内容 :在脚本文件中输入希望在启动时运行的命令。假设想在启动时运行 sudo some_command,可以这样写:

    bash 复制代码
    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          my_startup_script
    # Required-Start:    $local_fs $network $remote_fs
    # Required-Stop:     $local_fs $network $remote_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: My startup script
    # Description:       This script runs a command at startup.
    ### END INIT INFO
    
    case "$1" in
        start)
            echo "Starting my_startup_script"
            sudo some_command
            ;;
        stop)
            echo "Stopping my_startup_script"
            ;;
        restart)
            echo "Restarting my_startup_script"
            sudo some_command
            ;;
        *)
            echo "Usage: /etc/init.d/my_startup_script {start|stop|restart}"
            exit 1
            ;;
    esac
    
    exit 0
  3. 赋予脚本执行权限:需要给这个脚本赋予执行权限。

    bash 复制代码
    sudo chmod +x /etc/init.d/my_startup_script
  4. 更新启动脚本列表 :使用 update-rc.d 命令将脚本添加到系统的启动脚本列表中。

    bash 复制代码
    sudo update-rc.d my_startup_script defaults
  5. 重启系统:最后,重启系统以验证脚本是否在启动时正确运行。

    bash 复制代码
    sudo reboot
相关推荐
大叔是90后大叔2 分钟前
Linux/Ubuntu安装go
linux·ubuntu·golang
孙克旭_12 分钟前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible
渡我白衣37 分钟前
Linux操作系统之进程间通信:共享内存
linux
Mr_Orangechen1 小时前
Linux 下使用 VS Code 远程 GDB 调试 ARM 程序
linux·运维·arm开发
lilian1292 小时前
linux系统mysql性能优化
linux·运维·mysql
共享家95273 小时前
linux_线程概念
linux·开发语言·jvm
乌云暮年3 小时前
Linux常用命令
linux·服务器·ssh·php
weixin_516023073 小时前
Geant4 安装---Ubuntu
linux·运维·ubuntu
稀液蟹-plus3 小时前
zynq-PS篇——bperez77中DMA驱动注意事项
linux·fpga
brave_zhao4 小时前
JavaBeanUtils javaBean转map, 实体类转map,实体集合转List<Map>
linux·windows·python