首页 > 系统相关 >Linux Crontab定时表教学大全(一看就会!)

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

时间:2024-03-29 15:01:30浏览次数:23  
标签:10 Code crontab command Crontab Linux 定时 执行 大全

概述:

        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
  • 编辑当前用户的 crontab

    Code
    crontab -e

    编辑器打开后,您可以添加、修改或删除定时任务。保存并退出编辑器后,更改立即生效。

3. crontab 语法

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

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

时间字段

Bash

1minute hour day_of_month month day_of_week command

每个字段含义如下:

  • 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
  • 每天凌晨 3 点执行

    Code
    10 3 * * * command
  • 每周一上午 9 点执行

    Code
    10 9 * * 1 command
  • 每月第一天的下午 5 点执行

    Code
    10 17 1 * * command

命令字段

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

示例

  • 执行脚本

    Code
    10 0 * * * /path/to/script.sh
  • 设置环境变量并执行命令

    Code
    10 0 * * * export VAR=value && command
  • 重定向输出(我最近做了一个脚本想让他一分钟一执行,并把内容输出到文件中)

    Code
    * * * * * python3 /Python_GetInfo/app_2.0.py > /var/log/app_2.0.log 2>&1
    

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

希望可以帮助到大家~

标签:10,Code,crontab,command,Crontab,Linux,定时,执行,大全
From: https://blog.csdn.net/LKHzzzzz/article/details/137038247

相关文章

  • Linux常用(2)
    linux常用命令sh切换桌面cat/etc/shells看系统支持的shell类型bash是可以多开的,多开的bash相对是独立的操作系统:也是一种特殊的程序,调度硬件资源命令的本质是一个个程序内部命令:1.内部命令和bash软件是一体的,bash中集成了很多命令2.没有独立的文件3.不用独立安......
  • 【小黑送书—第十四期】>>重磅升级——《Excel函数与公式应用大全》(文末送书)
    今天给大家带来AI时代系列书籍:《Excel2019函数与公式应用大全》全新升级版,ExcelHome多位微软全球MVP专家打造,精选ExcelHome海量案例,披露Excel专家多年研究成果,让你分分钟搞定海量数据运算!由北京大学出版社出版,上一版长期雄踞Excel函数类图书销量前列,《Excel2019函数与......
  • 【Linux系列-1】-- 必会的 ARM 汇编指令
    原创:lvy嵌入式学习规划学习Linux系统启动流程,必须熟悉几个汇编指令这里不是最全的,只列出一些最常用的汇编指令。一.数据处理指令1.数据传送指令【MOV指令】把一个寄存器的值(立即数)赋给另一个寄存器,或者将一个常量赋给寄存器。MOV指令的格式为:MOV目的寄存器,源操作数M......
  • 自己写个网盘系列:③ 开源这个网盘编码,手把手教你windows linux 直接部署,docker本地打
    ❤系列①②已经完成了这个项目的页面和项目的全部编码,前后端分离,这个文章将向你展示运维小伙伴如何部署到windows服务器,linux服务器,docker部署,一学就会,快来看看吧!❤说明:这个系列准备用Simple快速框架搞个自己能用的网盘,来个实战,教大家如何搞一个项目,其中你能学到如何进行项目......
  • Linux系统使用nmcli命令配置网络(永久有效)
        前言:原文在我的博客网站中,持续更新数通、系统方面的知识,欢迎来访!使用nmcli命令配置网络https://myweb.myskillstree.cn/88.html       目录1、配置Network-Manager接管网络(Ubuntu需要,Centos不需要)2、nmcli的相关配置使用nmcli添加一个网卡并配置静态i......
  • Ask HN: Recommended resources to learn the Linux kernel and OS theory?
     https://news.ycombinator.com/item?id=20809666 SorecentlyIdidacoupleofminorpatchesontheFreeBSDandNetBSDkernelsandplayedwithsomelinuxkernel.Itwasthefirsttimeinaafewyears,I'vebeenexcitedaboutprogramming.Unfortunat......
  • LINUX颜色打印
     /////////////////////////////////////////////////////////////////////////////////////#defineD_RED"\e[0;31m"//#defineRED"\e[1;31m"//红#defineD_GREEN"\e[0;32m"//#defineGREE......
  • Linux安装Mysql
    一、下载 https://downloads.mysql.com/archives/community/ 二、创建用户groupaddmysqluseradd-gmysqlmysql三、安装1、解压 tar-xvfmysql-8.0.28-el7-x86_64.tar.gz2、重新命名mvmysql-8.0.28-el7-x86_64.tar.gzmysql-8.0.283、加入配置root下......
  • Linux 上用 docker-compose 文件指定的方式安装ETCD
    转载自:https://xie.infoq.cn/article/ffb0703096f0de1045e1ab028,这篇博客很棒!完全可执行的。本人修改了作者docker命令替换成了dockercompose文件的方式。创建数据保存目录:mkdir-p/home/service/etcd/data;创建配置目录:/home/service/etcd/conf;配置文件:/home/service......
  • 转载:使用 Linux tracepoint、perf 和 eBPF 跟踪数据包 (2017)
    http://arthurchiao.art/blog/trace-packet-with-tracepoint-perf-ebpf-zh/Linux允许在主机上用虚拟网卡(virtualinterface)和网络命名空间(networknamespace)构建复杂的网络。但出现故障时,排障(troubleshooting)相当痛苦。如果是3层路由问题,mtr 可以排上用场;但如果是更底层的问......