Linux Crontab定时表教学大全(一看就会!)

简介: Crontab 是一种在类 Unix 系统(如 Linux、FreeBSD、Solaris 等)中用于设置和管理定时任务的实用工具。通过编写 crontab 文件,用户可以安排命令或脚本在特定的时间点或周期性地自动执行。本教学将引导您了解 crontab 的基本概念、使用方法、语法和常见问题解决。

概述:

       crontab是Linux内非常方便的一个定时工具,它可以实现定时的去执行 一个脚本,最近也是刚接触到这个工具,跟大家分享一下!

详细概念:

Crontab 是一种在类 Unix 系统(如 Linux、FreeBSD、Solaris 等)中用于设置和管理定时任务的实用工具。通过编写 crontab 文件,用户可以安排命令或脚本在特定的时间点或周期性地自动执行。本教学将引导您了解 crontab 的基本概念、使用方法、语法和常见问题解决。

1. 基本概念

  • crontab 文件:存储定时任务的配置文件,每个用户拥有独立的 crontab 文件。
  • cron daemon(crond):守护进程,持续监控 crontab 文件并根据其中的定时规则执行任务。
  • cron job(定时任务):由 crontab 文件定义的单个定时任务,包含执行时间和命令(或脚本)。

2. 使用方法

访问与编辑 crontab 文件

  • 查看当前用户的 crontab
    Code
crontab -l
  • image.gif
  • 编辑当前用户的 crontab
    Code
crontab -e
  • image.gif image.gif 编辑
  • 编辑器打开后,您可以添加、修改或删除定时任务。保存并退出编辑器后,更改立即生效。

3. crontab 语法

一个典型的 crontab 任务行由两部分组成:

  • 时间字段:定义任务执行的时间规律。
  • 命令字段:要执行的命令或脚本及其参数。

时间字段

Bash

1minute hour day_of_month month day_of_week command

image.gif

每个字段含义如下:

  • minute:分钟(0-59)。
  • hour:小时(0-23)。
  • day_of_month:月份中的日期(1-31)。
  • month:月份(1-12 或 Jan-Dec)。
  • day_of_week:星期几(0-7 或 Sun-Sat,0 和 7 代表周日)。

特殊符号

  • *:匹配任意值。例如,*minute 字段表示每分钟。
  • ,:分隔多个值。例如,1,3,5 表示第 1、3、5 分钟。
  • -:定义范围。例如,1-5 表示第 1 到 5 分钟。
  • /:定义步长。例如,*/5 表示每隔 5 分钟。

示例

  • 每小时执行一次
    Code
10 * * * * command
  • image.gif
  • 每天凌晨 3 点执行
    Code
10 3 * * * command
  • image.gif
  • 每周一上午 9 点执行
    Code
10 9 * * 1 command
  • image.gif
  • 每月第一天的下午 5 点执行
    Code
10 17 1 * * command
  • image.gif

命令字段

  • 绝对路径:提供命令或脚本的完整路径。
  • 环境变量:如果命令依赖特定环境变量,可以在命令前添加 export VAR=value 设置。
  • 输出重定向:可以使用 >>> 将命令输出重定向到文件,如 command > /path/to/logfile

示例

  • 执行脚本
    Code
10 0 * * * /path/to/script.sh
  • image.gif
  • 设置环境变量并执行命令
    Code
10 0 * * * export VAR=value && command
  • image.gif
  • 重定向输出(我最近做了一个脚本想让他一分钟一执行,并把内容输出到文件中)
    Code
* * * * * python3 /Python_GetInfo/app_2.0.py > /var/log/app_2.0.log 2>&1
  • image.gif

一分钟执行一次 python3 /Python_GetInfo/app_2.0.py脚本并把内容输出到var/log/app_2.0.log文件中。

希望可以帮助到大家~

相关文章
|
2月前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
265 1
|
2月前
|
关系型数据库 MySQL Linux
linux下mysql定时备份
linux下mysql定时备份
46 0
|
2月前
|
Linux Shell C语言
【Shell 命令集合 设备管理 】Linux 设置键盘映射表 loadkeys命令 使用指南
【Shell 命令集合 设备管理 】Linux 设置键盘映射表 loadkeys命令 使用指南
63 0
|
2月前
|
关系型数据库 MySQL Linux
Linux系统使用定时脚本备份mysql
Linux系统使用定时脚本备份mysql
|
29天前
|
Unix Linux
Linux中的Crontab:定时任务管理器
`crontab`是Linux下的定时任务管理器,用于设置周期性执行的任务。用户可以通过`crontab -l`查看任务,`crontab -e`编辑,`crontab -r`删除任务。任务格式为:`* * * * * command`,分别代表分钟、小时、日期、月份、星期,例如`30 10 * * * /path/to/script.sh`。注意确保命令有执行权限,处理环境变量,并关注日志文件 `/var/log/syslog` 或 `/var/log/cron`。学会使用`crontab`能有效自动化Linux系统的日常任务。
|
13天前
|
Ubuntu Linux 数据安全/隐私保护
Linux Ubuntu crontab 添加错误 提示:no crontab for root - using an empty one 888
Linux Ubuntu crontab 添加错误 提示:no crontab for root - using an empty one 888
14 3
|
2天前
|
安全 固态存储 Linux
服务器linux操作系统重装的完整流程-傻瓜式教学
服务器linux操作系统重装的完整流程-傻瓜式教学
|
8天前
|
Linux
Linux定时任务:详解crontab与crond
Linux定时任务:详解crontab与crond
8 0
|
2月前
|
Linux
Linux Crontab 查看定时任务启动没
Linux Crontab 查看定时任务启动没
51 0
Linux Crontab 查看定时任务启动没
|
2月前
|
Java Linux 开发工具
手把手教你Linux查找Java的安装目录并设置环境变量以及Linux下执行javac未找到命令的保姆级教学
手把手教你Linux查找Java的安装目录并设置环境变量以及Linux下执行javac未找到命令的保姆级教学
27 0

热门文章

最新文章