Linux 定时任务全解析
文章目录
- 一、Cron 服务
- 1.1安装
- 1.2配置文件格式
- 1.3使用方法
- 1.4系统级与用户级 Cron 任务区别
- 二、At 服务
- 2.1安装
- 2.2工作原理
- 2.3使用方法
一、Cron 服务
1.1安装
在大多数 Linux 发行版中,Cron 服务通常已经默认安装。例如在 Ubuntu 系统中,可以通过以下命令检查是否安装:
dpkg -l | grep cron
- 如果未安装,可以使用相应的包管理器进行安装。在 Ubuntu 或 Debian 系统中,使用sudo apt-get install cron;在 CentOS 或 RHEL 系统中,使用sudo yum install cronie。
1.2配置文件格式
Cron 任务通过crontab文件进行配置,其格式如下:
- 一个crontab条目由 6 个字段组成,依次为分钟(0 - 59)、小时(0 - 23)、日(1 - 31)、月(1 - 12)、星期(0 - 6,0 代表星期日)和要执行的命令。
- 例如,30 10 * * * /usr/bin/myscript.sh表示每天上午 10 点 30 分执行/usr/bin/myscript.sh脚本。
特殊字符含义:
- :代表所有可能的值。如在分钟字段用表示每分钟。
- ,:分隔多个值。如0,30 * * * *表示每小时的 0 分和 30 分执行任务。
- -:表示时间范围。如0 10 - 12 * * *表示每天 10 点到 12 点执行任务。
- /:表示时间间隔。如*/15 * * * *表示每 15 分钟执行一次任务。
1.3使用方法
- 查看当前用户的 Cron 任务:
使用crontab -l命令。例如,如果当前用户设置了一些定时任务,执行该命令后会列出这些任务的详细信息,格式与crontab配置文件中的条目一致。
- 编辑 Cron 任务:
使用crontab -e命令。这会根据系统默认的文本编辑器(如vi或nano)打开crontab文件进行编辑。例如,要添加一个每周日凌晨 2 点备份数据库的任务,在crontab文件中添加0 2 * * 0 /usr/bin/backup_database.sh。编辑完成后保存退出,Cron 服务会自动加载新的任务设置。
- 删除 Cron 任务:
使用crontab -r命令可以删除当前用户的所有crontab任务。如果只想删除特定任务,先使用crontab -l查看任务列表,然后使用crontab -e进入编辑模式,删除对应的任务行。
1.4系统级与用户级 Cron 任务区别
- 系统级 Cron 任务:
系统级cron任务的配置文件通常位于/etc/crontab。其格式与用户crontab文件不同,在命令前多了一个指定执行任务用户的字段。例如,0 0 * * * root /usr/bin/update_system表示每天午夜由root用户执行/usr/bin/update_system任务。
此外,在/etc目录下有cron.daily、cron.weekly、cron.monthly等子目录。这些目录中的可执行脚本会分别在每天、每周、每月自动执行一次。例如,/etc/cron.daily/logrotate脚本用于每天进行日志轮转操作,以避免日志文件过大占用过多磁盘空间。
- 用户级 Cron 任务:
用户使用crontab -e设置自己的定时任务。每个用户的crontab文件存储在/var/spool/cron/crontabs目录下(不同发行版可能略有差异)。用户级任务主要用于个人需求,如个人数据备份、定时邮件提醒等。例如,普通用户可以设置一个每天晚上 9 点备份自己文档目录的任务,方便数据的定期保存。
二、At 服务
2.1安装
- 同样,在多数 Linux 发行版中,At 服务也可能已默认安装。可以使用类似的命令检查,如在 Ubuntu 中dpkg -l | grep at。若未安装,在 Ubuntu 或 Debian 系统中使用sudo apt-get install at;在 CentOS 或 RHEL 系统中使用sudo yum install at。
2.2工作原理
- At 命令用于在指定时间执行一次任务。当提交任务后,atd守护进程将任务存储在队列中,待指定时间到达时执行。
2.3使用方法
- 例如,要在明天下午 3 点执行一个打印文件内容到特定文件的任务。首先输入at 3pm tomorrow,然后在出现的at>提示符下输入/bin/cat /home/user/sample.txt > /home/user/output.txt,最后按Ctrl+D结束输入。这样系统就会在指定时间执行该任务。
- 查看已提交但未执行的at任务列表使用at -l命令,会列出任务编号和执行时间等信息。查看某个at任务的具体内容使用at -c命令,后面跟上任务编号(通过at -l获取)。要删除at任务,使用at -r命令并跟上任务编号。
无论是 Cron 还是 At 服务,在 Linux 系统管理和自动化任务处理方面都起着极为重要的作用。合理利用它们可以大大提高系统管理效率,减少人工干预,确保系统稳定运行和数据安全备份等任务按时执行。
相关文章:
Linux 定时任务全解析
文章目录 一、Cron 服务1.1安装1.2配置文件格式1.3使用方法1.4系统级与用户级 Cron 任务区别 二、At 服务2.1安装2.2工作原理2.3使用方法 一、Cron 服务 1.1安装 在大多数 Linux 发行版中,Cron 服务通常已经默认安装。例如在 Ubuntu 系统中,可以通过以…...
XLNet——打破 BERT 局限的预训练语言模型
近年来,深度学习在自然语言处理(NLP)领域取得了革命性进展,其中 BERT 的出现标志着双向语言建模的强大能力。然而,BERT 也存在一些局限性,限制了其在生成任务中的表现。2019 年,由 Google 和 Ca…...
开源代码统计工具cloc的简单使用
一.背景 公司之前开发了个小系统,要去申请著作权,需要填写代码数量。应该怎么统计呢?搜索了一下,还是用开源工具cloc吧!我的操作系统是windows,代码主要是java项目和vue项目。 二.到哪里找 可以去官方下载…...
如何创建一个项目用于研究element-plus的原理
需求:直接使用element-plus未封装成组件的源码,创建一个项目,可以使用任意的element-plus组件,可以深度研究组件的运行。例如研究某一个效果,如果直接在node_modules修改elment-plus打包之后的那些js、mjs代码…...
单片机进阶硬件部分_day2_项目实践
设计要求 从绘制原理图到画PCB板,完成智能云衣柜项目 STM32 (Modbus)云IOT衣物云端管理 华为PCB布线规范 基于IoT的智享家主控系统 步骤分析 需求分析 器件选型绘制原理图(器件连接)PCB布局、布线泪滴、铺铜、添加丝印…...
labview关于文件路径的问题
在调用文件或拆分文件的时候经常会用到拆分路径函数和创建路径函数,最常用的也是当前应用程序目录或者是当前VI目录。 这里我们看到应用程序目录和VI目录在同一项目中,应用程序目录更像是根目录,往下拆分成了各个VI的子目录。 接下来我们来拆…...
72项!湖北省2024年度第二批省级科技计划项目拟立项项目公示!
本期精选 SCI&EI ●IEEE 1区TOP 计算机类(含CCF); ●EI快刊:最快1周录用! 知网(CNKI)、谷歌学术期刊 ●7天录用-检索(100%录用),1周上线; 免费稿件评估 免费匹配…...
神经网络问题之:梯度不稳定
梯度不稳定是深度学习中,特别是在训练深度神经网络时常见的一个问题,其本质涉及多个方面。 一、根本原因 梯度不稳定问题的根本原因在于深度神经网络的结构和训练过程中的一些固有特性。随着网络层数的增加,梯度在反向传播过程中会逐层累积变…...
ORACLE删不掉job,如何解决。
问题: 删掉 NYZSM 时出错: ORA-27478: 作业 “ZHY.NYZSM” 正在运行 ORA-06512: 在 “SYS.DBMS_ISCHED”, line 213 ORA-06512: 在 “SYS.DBMS_SCHEDULER”, line 657 ORA-06512: 在 line 2 1、停止作业: 使用DBMS_SCHEDULER.STOP_JOB过程来…...
可视化建模与UML《活动图实验报告》
你当像鸟飞往你的山。 一、实验目的: 1、熟悉活动图的基本功能和使用方法。 2、掌握使用建模工具软件绘制协作图的方法 二、实验环境: window7 | 10 | 11 EA15 三、实验内容: <1>绘制学生选课系统中添加课程(Add Course)用例的活动图…...
基于 MUSA 的大语言模型推理和服务框架vLLM
1. 引言 vLLM是一个高性能且内存高效的大语言模型推理和服务框架,也是当前业界使用范围最广的大模型推理框架,截至目前github star数28.4k。该框架性能优秀,而且部署容易,使用CUDA/ROCm提供GPU加速能力。但vLLM目前不支持使用摩…...
鸿蒙网络编程系列48-仓颉版UDP回声服务器示例
1. UDP回声服务器简介 回声服务器指的是这样一种服务器,它接受客户端的连接,并且把收到的数据原样返回给客户端,本系列的第2篇文章《鸿蒙网络编程系列2-UDP回声服务器的实现》中基于ArkTS语言在API 9的环境下实现了UDP回声服务器,…...
android-studio-4.2下载 、启动
下载 分享一个国内的android studio网站,可以下载SDK和一些Android studio开发工具 https://www.androiddevtools.cn/ 启动 JAVA_HOME/app/zulu17.48.15-ca-jdk17.0.10-linux_x64/ /app5/android-studio-home/android-studio-ide-201.6568795-linux-4.2C1/bin/s…...
深度学习day2-Tensor 2
六 Tensor常见操作 Tensor:多维数组,用于存储和操作数据 1 获取元素值 data.item():单个元素tensor转为python数值 import torch #标量 xtorch.tensor(1) print(x.item()) #一阶 xtorch.tensor([100]) print(x.item()) #如果输入的数据超过1个&#…...
【Android踩过的坑】14.小米系统TTS无法生效的问题
【Android踩过的坑】14.小米系统TTS无法生效的问题 解决办法: 在AndroidManifest.xml中添加: <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"…...
RabbitMQ实现异步下单与退单
前言: 在电商项目中的支付模块也是一个很重要的模块,其中下订操作以及退订操作就是主要的操作。其次的下单是同步下单,也就是第三方支付、数据库扣减、积分增加、等等其他业务操作,等待全部执行完毕后向用户返回成功响应请求。对…...
鸿蒙NEXT开发案例:随机数生成
【引言】 本项目是一个简单的随机数生成器应用,用户可以通过设置随机数的范围和个数,并选择是否允许生成重复的随机数,来生成所需的随机数列表。生成的结果可以通过点击“复制”按钮复制到剪贴板。 【环境准备】 • 操作系统:W…...
nwjs崩溃复现、 nwjs-控制台手动操纵、nwjs崩溃调用栈解码、剪切板例子中、nwjs混合模式、xdotool显示nwjs所有进程窗口列表
-1. nwjs在低版本ubuntu运行情况 ubuntu16.04运行nw-v0.93或0.89报错找不到NSS_3.30、GLIBC_2.25 uname -a #Linux Asus 4.15.0-112-generic #113~16.04.1-Ubuntu SMP Fri Jul 10 04:37:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux cat /etc/issue #Ubuntu 16.04.7 LTS \n \l…...
视觉SLAM--经典视觉SLAM框架
整个视觉SLAM流程主要包括以下步骤: 1、传感器信息读取:在视觉SLAM中主要为相机图像信息的读取和预处理。 2、前端视觉里程计:估算相邻图像间相机的运动,以及局部地图的样子。 3、后端(非线性)优化&#…...
Wallpaper壁纸制作学习记录05
效果简介 效果可以应用于现有组件,主要是您导入的图像。您可以在图像图层、文本图层、全屏图层和合成图层上使用效果。要添加效果需要打开之前的项目或创建一个新的项目,然后点击右侧效果区域的添加按钮。 将鼠标悬停在效果列表是,将显示眼睛…...
通过“运行规程”智能体,让 RAG 秒变监盘专家!
在当今全球能源结构转型的宏大叙事下,火力发电厂正面临着前所未有的双重夹击:一边是波动性极大的新能源并网带来的调峰压力,另一边是极度严苛的碳排放法规。在集控室(Control Room)里,运行人员(…...
YimMenu终极指南:5分钟学会GTA5最强安全增强工具
YimMenu终极指南:5分钟学会GTA5最强安全增强工具 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …...
JAVA重点基础、进阶知识及易错点总结(36)Lombok 实战 + 阶段总结
🚀 Java 巩固进阶 第 36 天 主题:Lombok 实战 阶段总结 —— 解放双手,高效开发📅 进度概览:今天是 设计模式与注解阶段(31-36 天)的最后一天,也是 Java 基础巩固阶段的收官之日&a…...
为什么芯片工程师都在学Chisel?从Verilog到高级硬件设计的跃迁指南
为什么芯片工程师都在学Chisel?从Verilog到高级硬件设计的跃迁指南 在半导体行业,设计效率正成为决定产品成败的关键因素。传统Verilog开发中,工程师们常常需要花费70%的时间调试RTL代码中的低级错误,而非专注于架构创新。这种现状…...
教育科技赋能自主学习:JiYuTrainer的平衡之道与效率提升方案
教育科技赋能自主学习:JiYuTrainer的平衡之道与效率提升方案 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 教学管控与学习自由的平衡难题 在数字化教育普及的今天&…...
2025 年12月 1日KB5070311(操作系统内部版本26200.7309和26100.7309)预览 版
🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...
零成本构建开源串流服务器:跨设备体验全攻略
零成本构建开源串流服务器:跨设备体验全攻略 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在多设备互联的时代,如何打破硬件限制,让高性能游戏…...
Path of Building终极指南:免费离线Build规划工具让流放之路角色构建变简单
Path of Building终极指南:免费离线Build规划工具让流放之路角色构建变简单 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding 你知道吗?在《流放之路…...
3步解锁7-Zip:告别存储焦虑的终极文件管理方案
3步解锁7-Zip:告别存储焦虑的终极文件管理方案 【免费下载链接】7z 7-Zip Official Chinese Simplified Repository (Homepage and 7z Extra package) 项目地址: https://gitcode.com/gh_mirrors/7z1/7z 你是否曾因电脑空间不足而焦虑?是否在传输…...
用快马平台快速构建cc switch游戏交互原型,三步实现状态切换demo
今天想和大家分享一个快速验证游戏交互设计的小技巧——用InsCode(快马)平台三步搞定角色状态切换原型。最近在做一个横版动作游戏,需要实现类似《空洞骑士》那种技能切换系统,传统开发流程至少要花半天搭环境写基础代码,现在用这个平台十分钟…...
