Ubuntu 下开机自动执行命令的方法

Ubuntu 下开机自动执行命令的方法(使用 crontab

在日常使用 Ubuntu 或其他 Linux 系统时,我们常常需要让某些程序或脚本在系统启动后自动运行。例如:启动 Clash 代理、初始化服务、定时同步数据等。

本文将介绍一种简单且常用的方式 —— 使用 crontab@reboot 功能来实现开机自动执行命令


🧾 什么是 crontab?

crontab 是 Unix/Linux 系统中用于设置周期性执行任务的工具。除了可以设定定时任务外,它还支持一个特殊的时间关键字 @reboot,表示在每次系统启动时执行一次指定的命令。

这种方式适合一些不需要持续运行但需要在开机时自动执行的脚本或程序。


🔧 使用步骤

第一步:打开终端

你可以通过快捷键 Ctrl + Alt + T 快速打开终端。


第二步:编辑当前用户的 crontab 文件

输入以下命令:

crontab -e

如果这是你第一次使用 crontab,系统会提示你选择一个编辑器,如 nanovim 等。建议新手选择 nano,操作更简单。


第三步:添加开机启动命令

在打开的编辑器中,新增一行内容如下:

@reboot /home/dennis/software/clash/clash -d /home/dennis/software/clash

这行命令的意思是:每当系统重启后,就运行这个 Clash 程序,并指定配置目录为 /home/dennis/software/clash

💡 请根据你的实际安装路径修改上述命令。


第四步:保存并退出编辑器

如果你使用的是 nano 编辑器:

  • 按下 Ctrl + O 保存文件;
  • 然后按下 Ctrl + X 退出编辑器。

第五步(可选):添加延迟避免网络未就绪问题

有些程序依赖网络连接(如 Clash),如果开机时网络尚未准备完成,可能导致程序启动失败。可以在命令前加上一个延迟,比如:

@reboot sleep 30 && /home/dennis/software/clash/clash -d /home/dennis/software/clash

这样系统会在开机后等待 30 秒再执行命令,给网络管理器预留出初始化时间。


⚠️ 注意事项

  1. 确保路径正确
    命令中的路径必须是绝对路径,不能使用相对路径或 ~ 表示用户目录。

  2. 权限问题
    如果你的命令需要管理员权限,请使用 sudo crontab -e 来编辑 root 用户的 crontab,或者考虑使用 systemd 服务方式。

  3. 环境变量问题
    cron 的环境变量与普通 shell 不同,可能导致某些命令找不到或执行异常。如果遇到此类问题,建议使用完整的路径,并尽量避免依赖复杂的 shell 特性。

  4. 日志调试
    如果命令没有按预期运行,可以通过重定向输出查看日志:

    @reboot sleep 30 && /home/dennis/software/clash/clash -d /home/dennis/software/clash >> /home/dennis/clash.log 2>&1
    

    这样所有输出都会记录到 clash.log 中,方便排查问题。


✅ END

使用 crontab@reboot 指令是一种快速、便捷地实现开机自启的方法,适用于大多数非系统级的用户程序和脚本。对于像 Clash 这样的代理软件,这种方法尤其实用。

如果你有更复杂的需求,比如后台守护进程、依赖系统服务、需要更高权限控制的场景,推荐使用 systemd 创建服务单元文件。


📚 扩展阅读

  • systemd 服务配置指南
  • crontab 官方文档
  • Linux 自动化任务调度教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/84091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jpackage 打包 jar包 为exe可执行程序

jpackage --input target/ --main-jar note.jar --runtime-image H:/Dpanbeifeng/apps/finalshell/jre --type app-image --dest output/ --main-class com.textmanager.Main --icon logo2.png --name 猫咪快笔记 jpackage 打包指令详细介绍 jpackage 概述 jpackage 是…

H5移动端性能优化策略(渲染优化+弱网优化+WebView优化)

一、渲染优化:首屏速度提升的核心​​ ​​1. 关键页面采用SSR或Native渲染​​ ​​适用场景​​:首页、列表页、详情页等强内容展示页面 ​​优化原理​​: ​​SSR(服务端渲染)​​:在服务端生成完整…

Matlab | matlab中的图像处理详解

MATLAB 图像处理详解 这里写目录标题图像处理 MATLAB 图像处理详解一、图像基础操作1. 图像读写与显示2. 图像信息获取3. 图像类型转换二、图像增强技术1. 对比度调整2. 去噪处理3. 锐化处理三、图像变换1. 几何变换2. 频域变换四、图像分割1. 阈值分割2. 边缘检测3. 区域分割五…

keysight是德科技N9923A网络分析仪

keysight是德科技N9923A网络分析仪 简  述:N9923A 是一款使用电池供电的便携式射频矢量网络分析仪,其中包括全 2 端口网络分析仪、电缆和天线测试仪、故障点距离测试仪、功率计以及 1 通道和 2 通道矢量电压表。 主要特性与技术指标 网络分析仪 * 2…

idea不识别lombok---实体类报没有getter方法

介绍 本篇文章,主要讲idea引入lombok后,在实体类中加注解Data,在项目启动的时候,编译不通过,报错xxx.java没有getXxxx()方法。 原因有以下几种 1. idea没有开启lombok插件 2. 使用idea-2023…

本地主机部署开源企业云盘Seafile并实现外部访问

Seafile是一个开源、专业、可靠的云存储平台;解决文件集中存储、共享和跨平台访问等问题。这款软件功能强大,界面简洁、操作方便。 本文将详细的介绍如何利用本地主机部署 Seafile,并结合nat123,实现外网访问本地部署的 Seafile …

【从0-1的CSS】第1篇:CSS简介,选择器以及常用样式

文章目录 CSS简介CSS的语法规则选择器id选择器元素选择器类选择器选择器优先级 CSS注释 CSS常用设置样式颜色颜色名称(常用)RGB(常用)RGBA(常用)HEX(常用)HSLHSLA 背景background-colorbackground-imagebackground-size 字体text-aligntext-decorationtext-indentline-height 边…

SpringBoot+MySQL家政服务平台 设计开发

概述 基于SpringBootMySQL开发的家政服务平台完整项目,该系统实现了用户预约、服务管理、订单统计等核心功能,采用主流技术栈开发,代码规范且易于二次开发。 主要内容 系统功能架构 本系统采用前后端分离架构,前端提供用户交互…

3.1 HarmonyOS NEXT分布式数据管理实战:跨设备同步、端云协同与安全保护

HarmonyOS NEXT分布式数据管理实战:跨设备同步、端云协同与安全保护 在万物互联的时代,数据的跨设备流转与安全共享是全场景应用的核心需求。HarmonyOS NEXT通过分布式数据管理技术,实现了设备间数据的实时同步与端云协同,为开发…

高保真组件库:数字输入框

拖入一个文本框。 拖入一个矩形,作为整个数字输入框的边框,边框颜色为灰色DCDEE2,圆角半径为4。 拖入一个向上的箭头图标作为增加按钮,再拖入一个矩形,将向上箭头图标放入矩形内。矩形:18x15,边框颜色DCDEE2,边框左下可见,箭头图标:8x5,矩形置底,组合在一起命名”增…

【力扣链表篇】19.删除链表的倒数第N个节点

题目: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]…

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…

wpf ListBox 去除item 单击样式

在WPF中去除ListBox项的单击样式&#xff0c;可以通过修改ItemContainerStyle来实现。以下是解决方案&#xff1a; <ListBox><ListBox.ItemContainerStyle><Style TargetType"ListBoxItem"><Setter Property"Background" Value"…

A Execllent Software Project Review and Solutions

The Phoenix Projec: how do we produce software? how many steps? how many people? how much money? you will get it. i am a pretty judge of people…a prank

Android 视图系统入门指南

1. View&#xff1a;界面的最小单位 本质&#xff1a;屏幕上的一个矩形区域&#xff0c;能显示内容或接收触摸。比喻&#xff1a;就像乐高积木&#xff0c;是组成界面的最小单位。常见子类&#xff1a; TextView&#xff08;文字积木&#xff09;、Button&#xff08;按钮积木…

【走好求职第一步】求职OMG——见面课测验4

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01;博主码字不易点个关注吧~~ 1.单选题(2分) 下列不属于简历撰写技巧原则的是&#xff08; A &#xff09; A.具体性 B.相关性 C.匹配性 2.单选题(2分) 笔试的下一步一般是:( B &…

瀚文(HelloWord)智能键盘项目深度剖析:从0到1的全流程解读

瀚文&#xff08;HelloWord&#xff09;智能键盘项目深度剖析&#xff1a;从0到1的全流程解读 一、项目整体概述 瀚文&#xff08;HelloWord&#xff09;智能键盘是一款多功能、模块化的智能机械键盘&#xff0c;由三大部分组成&#xff1a;键盘输入模块、可替换的多功能交互…

国产安路FPGA实现图像视频采集转HDMI输出,提供5套TD工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目国产安路FPGA相关方案推荐 3、设计思路框架工程设计原理框图输入Sensor之-->GC0308摄像头输入Sensor之-->OV7725摄像头输入Sensor之-->OV5640摄像头输入Sens…

35 C 语言字符串转数值函数详解:strtof、strtod、strtold(含 errno 处理、ERANGE 错误)

1 strtof() 函数 1.1 函数原型 #include <stdlib.h> // 必须包含这个头文件才能使用 strtof() #include <errno.h> // 包含 errno 和 ERANGE #include <float.h> // 包含 FlOAT_MAX 和 FLOAT_MIN #include <math.h> // 包含 HUGE_VALF(inf)float…

PaddleOCR项目实战(1):Python脚本中使⽤PaddleOCR

1 项目介绍 项目架构如下&#xff1a; APP/WEB/⼩程序为OCR识别接⼝调⽤端&#xff0c;调⽤OCR接⼝&#xff0c;实现OCR功能。本项⽬我们只实现Android APP开发。Nginx反向代理和负载均衡功能&#xff0c;通过Nginx实现对外⽹暴露接⼝&#xff0c;对内负载均衡SpringBoot实现的…