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

Ubuntu下使用Cron定时任务

Ubuntu下使用Cron定时任务

文章目录

  • Ubuntu下使用Cron定时任务
    • 概述
    • Cron 工作原理
    • crontab的基本指令使用
    • Cron 定时任务语法
    • 用户的crontab 文件
    • 系统的crontab 文件
    • cron 任务设置环境变量
      • 1. 直接在 crontab 中声明变量
      • 2. 将变量声明为命令的一部分
      • 3. 从文件加载变量
    • 使用环境变量控制 cron 行为
      • 1.路径
      • 2. MAILTO 和 MAILFROM
      • 3. 外壳
      • 4. CRON_TZ
      • 5. 随机延迟
    • 每 30 秒运行一次 cron 任务

概述

Cron Job是一个Linux 程序,它允许用户安排某个软件的执行,通常以 shell 脚本或已编译的可执行文件的形式出现。Cron 通常用于需要按固定时间表运行任务和/或自动执行重复任务(如下载文件或发送电子邮件)的情况。

从最基本的层面上讲,cron 作业是写入名为cron 表(简称为crontab )的表中的一个条目。此条目包含一个计划和一个要执行的命令。cron 守护程序 ( crond ) 会查找 crontab 中的条目,以确定应运行哪些作业以及应根据指定的计划在何时运行这些作业。

Cron 工作原理

大多数标准的 cron 安装包含两个命令:

  • croncrond,这是运行调度实用程序的守护进程
  • crontab,这是允许您编辑作业的 cron 条目的命令

从 Linux 的角度来看,守护进程是指在后台运行且非交互的程序。这意味着该程序不接受任何用户输入,也不向用户显示输出。守护进程一词过去常用于 Unix/Linux 环境,并不是不同操作系统的通用术语。

守护进程将在root用户下运行。您可以运行以下命令来查看 cron 是否正在运行:

ps aux | grep cron

你应该看到如下输出:

root      1111  0.0  0.0  29008  3012 ?        Ss   Aug26   0:01 /usr/sbin/cron -f

如果您根本没有收到命令的任何输出,则 cron 没有运行或未安装。

在 Ubuntu 上,您可以通过运行以下命令快速安装 cron:

sudo apt update && sudo apt install cron

crontab的基本指令使用

查询

#查看当前用户下的定时任务列表
crontab -l

在这里插入图片描述

编辑

#编辑当前用户下的定时任务
crontab -e

在第一次编辑时会有选择编辑器的选项,我们通过选择对应的选项来确定自己所要的编辑器,第二次将不会再次弹出下面图片选择界面,如果想要切换别的编辑器需要通过指令select-editor进行修改。

请添加图片描述
请添加图片描述

看下第一行:

MAILTO这个是直接用户的邮件地址

如果任务产生输出的话,cron 会将执行的任务的输出信息发送到指定的用户邮件。这可以通过在 crontab 文件中设置 MAILTO 变量来配置,也可以在命令行中使用

MAILTO=user@example.com

第二 行为 Cron 定时任务的配置接下来会讲

我们再次使用用查看当前用户下的定时任务列表指令

在这里插入图片描述

删除

#删除当前用户下的定时任务
crontab -r

在这里插入图片描述

Cron 定时任务语法

基本的 crontab 条目看起来像这样,首先是 cron 作业计划,然后是运行的命令:

任务配置的基本格式
*   *   *  * 

http://www.mrgr.cn/news/22833.html

相关文章:

  • (20)docke容器
  • 安卓链接正常显示,ios#符被转义%23导致链接访问404
  • CMakeLists.txt 和 Makefile
  • 儿童孤独症康复学校:打破孤岛,关爱与成长
  • 百度网盘下载报错1252000(类似125XXXXX)
  • MySQL进阶篇4 - 锁
  • C++插件管理系统
  • Docker的基本概念和优势
  • 什么是图像的边缘?说说边缘检测的任务以及基本原理?
  • 骨传导耳机品牌排行榜前五名揭秘!5大爆款骨传导耳机实测汇总!
  • 线性基 高斯消元法 C++
  • 低代码,是全村希望还是智商税?
  • 03 Flask-添加配置信息
  • HCIA--实验十三:VLAN间通信子接口实验/双单臂路由实验
  • idea开发Java程序的步骤及设置
  • Flux【大模型】【真人模型】:朴素的真实感,一款适合自媒体和朋友圈小伙伴的Flux大模型墨幽随拍
  • 计算机毕业设计 | springboot 图书商城 书店管理系统(附源码)
  • 安宝特案例 | AR如何大幅提升IC封装厂检测效率?
  • 软件工程知识点总结(4):概要设计
  • 在 RT-Thread 上使用单色屏 UI 库 - U8G2