当前位置: 首页 > news >正文

Cron介绍,以及常见的cron表达式

目录

一.cron介绍

1.什么是Cron?

 2.Cron语法

时间字段的取值范围如下:

时间字段支持以下特殊字符:

下面是一些示例:

3.虚拟机安装cron(centos7展示)

二.常见的cron表达式


一.cron介绍

1.什么是Cron?

  • Cron是一个Unix和类Unix操作系统的时间基准软件。它允许用户在预定时间执行命令或脚本,这些任务可以是单次性的,也可以是按照设定的时间表重复执行的。Cron通常被用于周期性地备份文件、定期运行系统维护任务、发送邮件通知等。
  •  Cron依赖于一个称为"crontab"的配置文件来管理任务列表。通过编辑crontab文件,用户可以设置要执行的命令、执行命令的时间表以及其他相关信息。Crontab文件中的每一行代表一个要执行的任务,其中包括了任务的执行时间(分钟、小时、日期等)和要执行的命令。
  •  在Linux系统中,可以使用crontab -e命令来编辑当前用户的cron任务列表,或者使用/etc/crontab文件来设置系统范围内的任务。通过合理配置cron任务,用户可以自动化许多重复性的工作,提高系统的效率和可靠性。

 2.Cron语法

字段允许值允许的特殊字符
秒 (Seconds)0-59, - * /
分 (Minutes)0-59, - * /
小时 (Hours)0-23, - * /
日 (Day of month)1-31, - * ? / L W C
月 (Month)1-12 or JAN-DEC, - * /
周几 (Day of week)0-7 or SUN-SAT, - * ? / L C #

ron语法由五个时间字段和一个命令字段组成,每个字段之间用空格或制表符分隔。以下是cron语法的详细说明:

时间字段的取值范围如下:

  • 分钟(0-59)
  • 小时(0-23)
  • 日期(1-31)
  • 月份(1-12)
  • 星期(0-7,其中0和7都代表星期日)

时间字段支持以下特殊字符:

  • *:匹配所有可能的值。
  • ,:用逗号分隔多个值。
  • -:表示一个范围。例如,1-5表示1到5。
  • /:用于指定间隔值。例如,*/5表示每隔5个单位。

下面是一些示例:

  • * * * * * command:每分钟执行一次命令。
  • 0 2 * * * command:在每天凌晨2点执行命令。
  • 0 8-18/2 * * * command:在每天上午8点至下午6点之间,每隔两个小时执行一次命令。

请注意,cron表达式的时间是基于服务器的本地时间。确保您设置的时间与预期的执行时间相匹配,并考虑时区差异

3.虚拟机安装cron(centos7展示)

  1. yum install cronie
    

    注意:在较新的 CentOS 版本上(如 CentOS 8),cron 被替换为 cronie,因此需要安装 cronie。

  2. 安装完成后,使用以下命令启动 cron 服务并设置为开机自启:

    systemctl start crond systemctl enable crond
  3. 确认 cron 服务已经成功启动,可以使用以下命令检查服务状态:

systemctl status crond

  如果显示 "active (running)",则表示 cron 服务已经成功启动

二.常见的cron表达式

Cron 表达式含义
0 0 12 * * ?每天中午 12 点执行
0 15 10 ? * *每天上午 10:15 执行
0 0/5 14 * * ?每天下午 2 点开始,每隔 5 分钟执行一次
0 0/2 8-18 * * ?每天上午 8 点到下午 6 点之间,每隔 2 分钟执行一次
0 0 6,18 * * ?每天早上 6 点和晚上 6 点执行
0 0/3 * * * ?每小时的第 0 分钟开始,每隔 3 分钟执行一次
0 0 9-17 * * MON-FRI周一到周五的上午 9 点到下午 5 点之间,每天执行一次
0 0 12 1 */2 ?每两个月的第 1 天中午 12 点执行
0 0 10 ? * 6L每月最后一个周六的上午 10 点执行
@reboot系统启动时执行任务

http://www.lryc.cn/news/267420.html

相关文章:

  • 智能优化算法应用:基于协作搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 分布式训练通信NCCL之Ring-Allreduce详解
  • os_util 工具类和方法的实现
  • uview表单校验带星号
  • vue+element实现动态表格:根据后台返回的属性名和字段动态生成可变表格
  • 云渲染UE4像素流送搭建(winows、ubuntu单实例与多实例像素流送)
  • Unity VR Pico apk安装失败:INSTALL_FAILED_UPDATE_INCOMPATIBLE
  • Prompt 提示工程学习笔记
  • STM32实现三个小灯亮
  • 1861_什么是H桥
  • 【计算机四级(网络工程师)笔记】操作系统运行机制
  • Swagger快速入门
  • 数据结构之<堆>的介绍
  • 使用Ubuntu22+Minikube快速搭建K8S开发环境
  • 【中小型企业网络实战案例 二】配置网络互连互通
  • Azure Machine Learning - Azure OpenAI GPT 3.5 Turbo 微调教程
  • 运维大模型探索之 Text2PromQL 问答机器人
  • 虚拟机VMware:变动ip修改固定ip
  • Docker部署Nexus Maven私服并实现远程访问Nexus界面
  • 苏州科技大学计算机817程序设计(java) 学习笔记
  • 虚幻学习笔记22—C++同步和异步加载
  • 华清远见嵌入式学习——ARM——作业3
  • 19.JavaSE
  • 仓库管理用什么软件
  • 飞天使-k8s知识点8-kubernetes资源对象-编写中
  • Oracle Create user
  • 树莓派,mediapipe,Picamera2利用舵机云台追踪人手(PID控制)
  • DQL查询数据(超重点)以及distinct(去重)
  • 【网络奇缘】——奈氏准则和香农定理从理论到实践一站式服务|计算机网络
  • MongoDB 根据 _id 获取记录的创建时间并回填记录中