Linux crontab-自动化的任务

【Linux命令大全】crontab命令详解:自动化任务调度权威指南 凌晨3点的关键备份任务每分钟一次的服务健康检查复杂的任务依赖关系跨时区的调度协调故障任务的自动恢复💡惊人事实:Google每秒钟执行超过2000万个cron任务,支撑着整个搜索索引的更新! 阅读详情

在 Linux 中,任务可以被配置在指定的时间段、指定的日期、或系统平均载量低于指定的数量时自动运行。红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新。譬如,被 locate 命令使用的 slocate 数据库每日都被更新。系统管理员可使用自动化的任务来执行定期备份、监控系统、运行定制脚本等等。

红帽企业 Linux 随带几个自动化任务的工具:cron、at、和 batch。

37.1. cron

cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。

cron 假定系统持续运行。如果当某任务被调度时系统不在运行,该任务就不会被执行。

要使用 cron 服务,你必须安装了 vixie-cron RPM 软件包,而且必须在运行 crond 服务。要判定该软件包是否已安装,使用 rpm -q vixie-cron 命令。要判定该服务是否在运行,使用 /sbin/service crond status 命令。

37.1.1. 配置 cron 任务

cron 的主配置文件是 /etc/crontab,它包括下面几行:

SHELL=/bin/bash
            PATH=/sbin:/bin:/usr/sbin:/usr/bin
            MAILTO=root
            HOME=/
            # run-parts
            01 * * * * root run-parts /etc/cron.hourly
            02 4 * * * root run-parts /etc/cron.daily
            22 4 * * 0 root run-parts /etc/cron.weekly
            42 4 1 * * root run-parts /etc/cron.monthly

前四行是用来配置 cron 任务运行环境的变量。SHELL 变量的值告诉系统要使用哪个 shell 环境(在这个例子里是 bash shell);PATH 变量定义用来执行命令的路径。cron 任务的输出被邮寄给 MAILTO 变量定义的用户名。如果 MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出。HOME 变量可以用来设置在执行命令或脚本时使用的主目录。

/etc/crontab 文件中的每一行都代表一项任务,它的格式是:

minute   hour   day   month   dayofweek   command

 

  • minute — 分钟,从 0 到 59 之间的任何整数

  • hour — 小时,从 0 到 23 之间的任何整数

  • day — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)

  • month — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)

  • dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)

  • command — 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。)

在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。

整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。

用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。

正斜线(/)可以用来指定间隔频率。在范围后加上 /<integer> 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。

开头为井号(#)的行是注释,不会被处理。

如你在 /etc/crontab 文件中所见,它使用 run-parts 脚本来执行 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目录中的脚本,这些脚本被相应地每小时、每日、每周、或每月执行。这些目录中的文件应该是 shell 脚本。

如果某 cron 任务需要根据调度来执行,而不是每小时、每日、每周、或每月地执行,它可以被添加到 /etc/cron.d 目录中。该目录中的所有文件使用和 /etc/crontab 中一样的语法。

# record the memory usage of the system every monday
            # at 3:30AM in the file /tmp/meminfo
            30 3 * * mon cat /proc/meminfo >> /tmp/meminfo
            # run custom script the first day of every month at 4:10AM
            10 4 1 * * /root/scripts/backup.sh

例 37-1. crontab 的例子

根用户以外的用户可以使用 crontab 工具来配置 cron 任务。所有用户定义的 crontab 都被保存在 /var/spool/cron 目录中,并使用创建它们的用户身份来执行。要以某用户身份创建一个 crontab 项目,登录为该用户,然后键入 crontab -e 命令,使用由 VISUAL 或 EDITOR 环境变量指定的编辑器来编辑该用户的 crontab。该文件使用的格式和 /etc/crontab 相同。当对 crontab 所做的改变被保存后,该 crontab 文件就会根据该用户名被保存,并写入文件 /var/spool/cron/username 中。

cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。如果发现了改变,它们就会被载入内存。这样,当某个 crontab 文件改变后就不必重新启动守护进程了。

37.1.2. 控制对 cron 的使用

/etc/cron.allow 和 /etc/cron.deny 文件被用来限制对 cron 的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许空格。如果使用控制文件被修改了,cron 守护进程(crond)不必被重启。使用控制文件在每次用户添加或删除一项 cron 任务时都会被读取。

无论使用控制文件中的规定如何,根用户都总是可以使用 cron。

如果 cron.allow 文件存在,只有其中列出的用户才被允许使用 cron,并且 cron.deny 文件会被忽略。

如果 cron.allow 文件不存在,所有在 cron.deny 中列出的用户都被禁止使用 cron。

37.1.3. 启动和停止服务

要启动 cron 服务,使用 /sbin/service crond start 命令。要停止该服务,使用 /sbin/service crond stop 命令。推荐你在引导时启动该服务。

 

ZT:http://www.eygle.com/digest/2006/01/hwoto_linux_crontab.html


Linux CronTab 定时任务,轻松实现自动化运维 这种需求通常可以通过手动执行命令来完成,但是随着业务的增加和数据量的增长,手动执行已经无法满足我们的要求。因此,在这篇文章中,我们将向大家介绍Linux CronTab定时任务的使用方法,以及如何在自动化运维中提高效率。本文中,我们了解了Linux中的CronTab定时任务的基本概念、使用方法和常用技巧。下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,crondtab进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 阅读详情

相关推荐

matlab安装libsvm常见问题

matlab安装libsvm常见问题 libsvm的官网链接:LIBSVM -- A Library for Support Vector Machines.

cqujcy的博客 1535

linux-系统定时任务cron

1、cron介绍 1.1、什么是cron? cron是linux系统中以后台进程模式周期性地执行命令或指定程序任务地服务软件。默认安装完linux系统之后,cron服务软件便会启动,服务对应的进程名字为crond。corn服务会定期(默认每分钟检查一次)检查系统中是否有需要执行的任务工作计划。 cron工具对应的crontab命令依赖于crond服务。 1.2、为什么要使用corn定时任务 要不断地对数据进行备份,但是很多时候变天系统业务繁忙,因此数据备份工作只能放到晚上执行,例如:网站数据库数据及

qq_46722017的博客 106万+

电影台词预测类型:NLP小样本多标签分类实战

电影类型预测本质上是短文本语义建模问题,核心在于从高度碎片化、低语义密度的台词(平均仅12.7词)中挖掘隐含的类型学编码规则。其技术难点在于:需应对省略主语、倒装、拟声词等非规范表达;处理Drama与Comedy等类型强共现的多标签耦合;并克服领域迁移障碍——维基文本预训练模型在台词上性能骤降0.11。解决方案聚焦RoBERTa微调、类型感知注意力机制与标签平滑策略,兼顾小样本鲁棒性与业务可解释性,广泛适用于影视元数据标注、智能推荐系统及NLP教学实践。

weixin_33309048的博客 288

linux任务调度器:定时执行任务的工具 cron详解

Cron 是 Linux 和 Unix-like 操作系统中守护进程(daemon),用于调度周期性任务。Cron 可安排在特定时间运行的命令,如每天备份数据库、每周清理日志文件等。Cron 成为系统管理员日常工作中不可或缺的工具。cron 是一种基于时间的作业调度器,它允许用户安排命令或脚本( cron jobs)在后台自动运行,而无需用户手动干预。可以基于时间(分钟、小时、日期、月份、星期几)来安排。编辑 crontab 文件,可以安排各种命令在特定时间执行。Cron 可提高系统的自动化程度和管理效率。

weixin_70208651的博客 8307

机器视觉/将HIK海康面阵相机连接Halcon软件

本文简述了如何将海康面阵相机连接到Halcon软件中进行实时取图的过程。

Dahe.qu 4866

tiktok算法协议研究

经过上述分析,可以确定目标字符串来源于一段 JSON 数据,而这段 JSON 数据来自于一个经过加密的本地文件。对字符串 "sdi_v2" 进行 SHA-1 计算,得到 20 字节的结果;将第一步得到的数据进行MD5计算,生成16字节的结果;将第二步的结果转换为十六进制字符串,从而得到 32 字节的密钥。写这种算法分析的帖子真的是太无聊了,就先分析到这里吧,后续有机会再来谈下被加密的本地文件是怎么来的!!自我感觉TT的算法并不难,就是量太大了,所以我想问问有没有感兴趣的朋友来一起分析,欢迎联系。

2503_90751938的博客 2575

Linux系统中的Cron定时任务详解

在Linux系统中,Cron是一种强大的定时任务调度器,它允许用户安排在特定时间自动执行的命令或脚本。本文将详细介绍如何在Linux系统中使用Cron定时任务,包括Cron的基础知识、如何配置和管理Cron任务,以及一些高级用法。

常备不懈 2436

安卓风控对抗实战:如何用AOSP定制ROM绕过Momo、AIDA64等检测(从环境搭建到设备画像)

本文详细解析了如何通过定制AOSP ROM绕过Momo、AIDA64等安卓风控检测工具的设备指纹识别。从环境搭建到硬件参数修改,再到内核级特征混淆,提供了一套完整的底层对抗方案,显著提升设备伪装通过率。

weixin_30687051的博客 490

13Linux系统定时任务Cron(d)

在调试时,将任务执行频率调快一点,例如,每天执行的任务,可以改为每分钟、每5分钟执行一次,或者以当前时间为准,推迟5分钟以后,看能否执行,而且是不是按照你想要的去执行。如果正常没问题了,那么再改成需要的任务的执行时间。需要强调一点的是,有些计划任务是不允许频繁执行的。例如,定时向数据库里插入数据,这样的任务就要在测试机上先测试好,然后再部署到正式线上,这样正式工作时出问题的机率就少了。

不屈的铝合金的博客 3390

Holosoma 开源人形机器人强化学习训练部署框架

Holosoma是一个综合性人形机器人框架,支持强化学习策略的训练、部署和动作重定位。该框架兼容多种模拟器(IsaacGym、IsaacSim、MuJoCo等)和机器人(Unitree G1、Booster T1),提供运动控制和全身追踪功能。主要特性包括:跨模拟器训练评估、Wandb集成、多GPU支持、自定义奖励权重和观测噪声配置。推理模块支持实体机器人部署和MuJoCo仿真测试。动作重定位工具可将人体动作数据转换为机器人动作,支持单序列和批量处理。文档详细介绍了训练配置、评估方法和高级功能,如课程学习和

2506_90492529的博客 1828

工业4.0必备:C#上位机+数字孪生 生产线实时监控与智能预警系统(工业级实战)

数据割裂:PLC、传感器、工业相机的数据散落在不同系统,想看全局生产状态要切换N个软件,“数据孤岛”导致决策滞后;故障难预判:设备突发故障时,只能停机排查,平均故障响应时间超30分钟,一条生产线停工1小时损失超10万;可视化差:传统监控只有冰冷的数字和2D图表,设备运行状态、生产流程、物料流转无法直观感知,新人上手需3个月才能熟悉产线。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 659

Linux 下使用 cron 定时任务

Linux 定时任务详解!!!

GG Bond 的博客 1万+

AI智能体实战:从LangChain到多智能体协作的自动化新范式

在人工智能技术快速发展的今天,大语言模型(LLM)已成为推动自动化变革的核心驱动力。其原理在于通过深度学习海量文本数据,使模型能够理解、生成自然语言并执行推理任务。这一技术进步催生了AI智能体(AI Agent)这一新兴概念,它赋予自动化系统自主决策和动态规划能力,从而突破了传统脚本和RPA工具在固定流程上的局限。从技术价值看,AI智能体框架通过封装LLM调用、工具集成与流程编排,显著降低了构建复杂人机协同应用的开发门槛。在实际应用场景中,智能体尤其擅长处理信息调研、内容创作辅助、数据分析等需要处理非结构化

weixin_33730836的博客 773

深入了解Linux Crontab:自动化任务调度的利器

CronTab是一个基于时间的任务调度程序,它允许用户设置定时任务,这些任务可以是任何命令、脚本或程序。在Linux系统中,CronTab是一种非常有用的工具,用于自动化执行周期性的后台任务。本文将详细介绍CronTab的基本概念、配置方法以及常见用例,帮助您充分利用CronTab的功能,提高工作效率。合理使用Crontab,可以节省用户的时间和精力,提高系统的自动化管理水平。*/n 表示每隔n个单位执行一次,如*/5 * * * *表示每5分钟执行一次。6.2 查看日志/var/log/cron。

weixin_50755086的博客 911

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Linux crontab-自动化任务

在 Linux 中,任务可以被配置在指定的时间段、指定的日期、或系统平均载量低于指定的数量时自动运行。红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新。譬如,被 locate 命令使用的 slocate 数据库每日都被更新。系统管理员可使用自动化的任务来执行定期备份、监控系统、运行定制脚本等等。 红帽企业 Linux 随带几个自动化任务的工具:cron、at、和 b

炯哥天地 1867

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

linux crontab自动化定时任务

linux是一个很能自动产生文件的系统程序运行日志,使用自动执行 1、删除文件命令: find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} \; 实例命令: find /opt/soft/log/ -mtime +30 -name “*.log” -exec rm -rf {} \; 说明: 将/opt/soft/log/目录下所有30天前带”

IT打工匠 1619

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Linux-自动化运维(计划任务)——at和crontab命令

经验丰富的系统运维工程师可以使得Linux在无需人为介入的情况下,在指定的时间段自动启用或停止某些服务或命令,从而实现运维的自动化。 计划任务: 一次性计划任务 at 长期性计划任务(周期性) crontab 1、一次性计划任务 可以理解为布置作业,布置只需完成一次的作业。 at类命令的服务名为atd,可以使用命令systemctl status atd查看atd服务是否启动 执行脚本存放在 ...

熊博主 644

Linux CronTab 定时任务,轻松实现自动化运维

CronTab 是 Linux 系统下的一个定时任务工具,允许用户按照预定的时间执行某些任务或命令。它是系统运维中非常有用的工具,可以自动化执行各种任务,如备份数据、发送报告、清理日志等。确保脚本或命令在 CronTab 的环境中可以正常运行。如果 CronTab 的命令需要输出日志或错误信息,建议将输出重定向到一个文件,以便后续查看。通过合理地使用 CronTab,你可以轻松实现自动化运维,提高工作效率。命令编辑当前用户的 CronTab。命令查看当前用户的 CronTab。

640

使用Crontab实现Linux任务自动化

介绍如何在Ubuntu中利用终端和Cron Jobs实现任务自动化。

u013643074的博客 1001

云贝教育 |【技术文章】深入了解Linux Crontab:自动化任务调度的利器

CronTab是一个基于时间的任务调度程序,它允许用户设置定时任务,这些任务可以是任何命令、脚本或程序。在Linux系统中,CronTab是一种非常有用的工具,用于自动化执行周期性的后台任务。本文将详细介绍CronTab的基本概念、配置方法以及常见用例,帮助您充分利用CronTab的功能,提高工作效率。合理使用Crontab,可以节省用户的时间和精力,提高系统的自动化管理水平。每个用户都有一个独立的Crontab文件,存储在/var/spool/cron目录下。6.2 查看日志/var/log/cron。

weixin_45262354的博客 714

linux任务自动化 初步接触crontab和at

个人习惯比较散漫,以前积累的资料都很凌乱,而且大部分是野路子,慢慢的放到博客上吧,也算是一个鉴证。linux实现任务自动化大体可以分两类,系统初始化时运行和定时运行。对于定时运行linux自带了两种工具,crontab和at。关于crontab的介绍,有两篇比较靠谱的文章:计划任务工具 cron 的配置和说明、linux下实行计划任务。at的介绍相对较少,稍微说下:使用at.allow和at.de

浮躁的技术之路 621

Linux crontab定时任务:Miniconda-Python脚本自动化执行

通过Miniconda管理Python环境隔离,结合Linux crontab实现定时任务自动化,适用于数据处理、模型训练等重复性科研与工程任务。关键在于使用绝对路径调用解释器、合理配置日志输出与环境变量,并将依赖版本化以确保可复现性。

weixin_36059856的博客 901
上一篇: liunx下socket通信
下一篇: Pthreads并行编程之spin lock与mutex性能对比分析
goodspringin
博客等级 码龄14年 3粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值