我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用cron来安排任务

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用cron来安排任务

本篇文章给大家分享的是有关如何使用 cron 来安排任务,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

导读有时,你可能需要定期或以预定的时间间隔执行任务。这些任务包括备份数据库、更新系统、执行定期重新引导等。这些任务称为 “cron 任务”。cron 任务用于“自动执行的任务”,它有助于简化重复的、有时是乏味的任务的执行。cron 是一个守护进程,可让你安排这些任务,然后按指定的时间间隔执行这些任务。你将学习如何使用 cron 来安排任务。

crontab 文件

crontab 即 “cron table”,是一个简单的文本文件,其中包含指定任务执行时间间隔的规则和命令。 crontab 文件分为两类:

1)系统范围的 crontab 文件

这些通常由需要 root 特权的 Linux 服务及关键应用程序使用。系统 crontab 文件位于 /etc/crontab 中,并且只能由 root 用户访问和编辑。通常用于配置系统范围的守护进程。crontab 文件的看起来类似如下所示:

如何使用cron来安排任务

etc-crontab-linuxetc-crontab-linux

2)用户创建的 crontab 文件

Linux 用户还可以在 crontab 命令的帮助下创建自己的 cron 任务。创建的 cron 任务将以创建它们的用户身份运行。

所有 cron 任务都存储在 /var/spool/cron(对于 RHEL 和 CentOS 发行版)和 /var/spool/cron/crontabs(对于 Debian 和 Ubuntu 发行版)中,cron 任务使用创建该文件的用户的用户名列出。

cron 守护进程在后台静默地检查 /etc/crontab 文件和 /var/spool/cron 及 /etc/cron.d*/ 目录。

crontab 命令用于编辑 cron 文件。让我们看一下 crontab 文件的结构。

crontab 文件剖析

在继续之前,我们要首先探索 crontab 文件的格式。crontab 文件的基本语法包括 5 列,由星号表示,后跟要执行的命令。

*    *    *    *    *    command

此格式也可以表示如下:

m h d moy dow command

m h d moy dow /path/to/script

让我们来解释一下每个条目

m:代表分钟。范围是 0 到 59

h:表示小时,范围是 0 到 23

d:代表一个月中的某天,范围是 1 到 31

moy:这是一年中的月份。范围是 1 到 12

dow:这是星期几。范围是 0 到 6,其中 0 代表星期日

command:这是要执行的命令,例如备份命令、重新启动和复制命令等

管理 cron 任务

看完 crontab 文件的结构之后,让我们看看如何创建、编辑和删除 cron 任务。

创建 cron 任务

要以 root 用户身份创建或编辑 cron 任务,请运行以下命令:

# crontab -e

要为另一个用户创建或安排 cron 任务,请使用以下语法:

# crontab -u username -e

例如,要以 Pradeep 用户身份运行 cron 任务,请发出以下命令:

# crontab -u Pradeep -e

如果该 crontab 文件尚不存在,那么你将打开一个空白文本文件。如果该 crontab 文件已经存在,则 -e 选项会让你编辑该文件,

列出 crontab 文件

要查看已创建的 cron 任务,只需传递 -l 选项:

# crontab -l

删除 crontab 文件

要删除 cron 任务,只需运行 crontab -e 并删除所需的 cron 任务行,然后保存该文件。

要删除所有的 cron 任务,请运行以下命令:

# crontab -r

然后,让我们看一下安排任务的不同方式。

使用 crontab 安排任务示例

如图所示,所有 cron 任务文件都带有释伴shebang标头。

#!/bin/bash

这表示你正在使用的 shell,在这种情况下,即 bash shell。

接下来,使用我们之前指定的 cron 任务条目指定要安排任务的时间间隔。

要每天下午 12:30 重启系统,请使用以下语法:

30  12 *  *  * /sbin/reboot

要安排在凌晨 4:00 重启,请使用以下语法:

0  4  *  *  *  /sbin/reboot

注:星号 * 用于匹配所有记录。

要每天两次运行脚本(例如,凌晨 4:00 和下午 4:00),请使用以下语法:

0  4,16  *  *  *  /path/to/script

要安排 cron 任务在每个星期五下午 5:00 运行,请使用以下语法:

0  17  *  *  Fri  /path/to/script

0 17  *  *  *  5  /path/to/script

如果你希望每 30 分钟运行一次 cron 任务,请使用:

*/30  *  *  *  * /path/to/script

要安排 cron 任务每 5 小时运行一次,请运行:

*  */5  *  *  *  /path/to/script

要在选定的日期(例如,星期三和星期五的下午 6:00)运行脚本,请执行以下操作:

0  18  *  *  wed,fri  /path/to/script

要使用单个 cron 任务运行多个命令,请使用分号分隔任务,例如:

*  *  *  *  *  /path/to/script1 ; /path/to/script2

使用特殊字符串节省编写 cron 任务的时间
某些 cron 任务可以使用对应于特定时间间隔的特殊字符串轻松配置。例如,

1)@hourly 时间戳等效于 0 * * * *

它将在每小时的第一分钟执行一次任务。

@hourly /path/to/script

2)@daily 时间戳等效于 0 0 * * *

它在每天的第一分钟(午夜)执行任务。它可以在执行日常工作时派上用场。

@daily /path/to/script

3)@weekly 时间戳等效于 0 0 * * 0

它在每周的第一分钟执行 cron 任务,一周第一天是从星期日开始的。

@weekly /path/to/script

3)@monthly 时间戳等效于 0 0 1 * *

它在每月第一天的第一分钟执行任务。

@monthly /path/to/script

4)@yearly 时间戳等效于 0 0 1 1 *

它在每年的第一分钟执行任务,可以用于发送新年问候。

@yearly /path/to/script

限制 crontab

作为 Linux 用户,你可以控制谁有权使用 crontab 命令。可以使用 /etc/cron.deny 和 /etc/cron.allow 文件来控制。默认情况下,只有一个 /etc/cron.deny 文件,并且不包含任何条目。要限制用户使用 crontab 实用程序,只需将用户的用户名添加到该文件中即可。当用户添加到该文件中,并且该用户尝试运行 crontab 命令时,他/她将遇到以下错误。

restricted-cron-userrestricted-cron-user

要允许用户继续使用 crontab 实用程序,只需从 /etc/cron.deny 文件中删除用户名即可。

如果存在 /etc/cron.allow 文件,则仅文件中列出的用户可以访问和使用 crontab 实用程序。

如果两个文件都不存在,则只有 root 用户具有使用 crontab 命令的特权。

备份 crontab 条目

始终建议你备份 crontab 条目。为此,请使用语法:

# crontab -l > /path/to/file.txt

例如:

# crontab -l > /home/james/backup.txt

检查 cron 日志

cron 日志存储在 /var/log/cron 文件中。要查看 cron 日志,请运行以下命令:

# cat /var/log/cronview-cron-log-files-linuxview-cron-log-files-linux

要实时查看日志,请使用 tail 命令,如下所示:

# tail -f /var/log/cronview-live-cron-logsview-live-cron-logs

以上就是如何使用 cron 来安排任务,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用cron来安排任务

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用cron来安排任务

本篇文章给大家分享的是有关如何使用 cron 来安排任务,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。导读有时,你可能需要定期或以预定的时间间隔执行任务。这些任务包括备份数据库
2023-06-05

怎么使用cron来安排任务

这篇文章主要介绍“怎么使用cron来安排任务”,在日常操作中,相信很多人在怎么使用cron来安排任务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用cron来安排任务”的疑惑有所帮助!接下来,请跟着小编
2023-06-28

Linux下cron调度任务如何使用

这篇文章主要介绍Linux下cron调度任务如何使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!cron是一个Unix系统下的配置任务调度的工具。这个工具可以周期性或者是以一个固定间隔运行命令或者脚本。安装 cro
2023-06-28

在Linux中如何使用cron计划任务

这篇文章主要介绍在Linux中如何使用cron计划任务,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!常见(和非常见)的 cron 用途我使用 cron 服务去安排一些常见的事情,比如,每天凌晨 2:00 发生的定期备
2023-06-16

如何使用at命令在Linux上安排任务

本篇内容介绍了“如何使用at命令在Linux上安排任务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!at 命令可以很容易地安排 Linux
2023-06-16

在Linux中怎么使用at命令安排任务

这篇文章主要介绍了在Linux中怎么使用at命令安排任务,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。当你希望命令或脚本在某个特定时间运行时,你不需要将手指放在键盘上盘旋等待
2023-06-05

SpringBoot2如何使用定时任务和异步任务

这篇文章给大家分享的是有关SpringBoot2如何使用定时任务和异步任务的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、定时任务1、基本概念按照指定时间执行的程序。2、使用场景数据分析数据清理系统服务监控二、
2023-06-02

win10任务视图如何使用

本文小编为大家详细介绍“win10任务视图如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“win10任务视图如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win10任务视图使用方法:1、在任务栏中
2023-07-02

Ubuntu如何使用GDebi来安装包

这篇文章主要为大家展示了“Ubuntu如何使用GDebi来安装包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ubuntu如何使用GDebi来安装包”这篇文章吧。1.打开超级用户权限的运行程序对
2023-06-16

Visual Studio如何使用任务列表

这篇文章主要介绍Visual Studio如何使用任务列表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!任务列表(task list)是错误列表(error list)的孪生兄弟。我们可以通过View –
2023-06-17

python定时任务apscheduler如何使用

这篇文章主要介绍了python定时任务apscheduler如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python定时任务apscheduler如何使用文章都会有所收获,下面我们一起来看看吧。安装p
2023-06-29

windows任务管理器如何使用

本文小编为大家详细介绍“windows任务管理器如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows任务管理器如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。任务管理器使用方法:1、首先打
2023-07-01

如何使用XP任务管理器

这篇文章将为大家详细讲解有关如何使用XP任务管理器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  1.任务管理器杀不“死”的程序我来摆平  我们常常遇到在任务管理器中结束任务时程序停止响应,甚至系统崩溃
2023-06-14

Python中如何使用APScheduler调度任务

Python中如何使用APScheduler调度任务,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 任务调度应用场景所谓的任务调度是指安排任务的执行计划,即何时执行,怎么执行等
2023-06-16

Django定时任务Django crontab如何使用

这篇文章主要介绍“Django定时任务Django-crontab如何使用”,在日常操作中,相信很多人在Django定时任务Django-crontab如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”D
2023-07-02

如何灵活使用Windows8的任务栏

对win7比较熟悉的用户都知道在win7最下方的任务栏上面添加了锁定一些应用程序到任务栏上。这样就可以从任务栏上面快速启动应用程序。当然win8也是有该功能,那么这里小编就教大家如何灵活使用win8的任务栏。这样让你的桌面图标可以省去很多快
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录