Linux Crontab 定时任务 命令详解

创建定时任务——crontab的使用 想要让PC电脑定时执行一些脚本,应该怎么操作呢?Linux内置的crontab就很好用!这里分享一下使用方法 阅读详情

编辑器加载中...

一.  Crontab 介绍
  
       crontab命令的功能是在一定的时间间隔调度一些命令的执行。
  
1.1 /etc/crontab 文件
       在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。
       
如:
[root@dave ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
  
1.2 /etc/cron.deny 和 /etc/cron.allow 文件
  
/etc/cron.deny 表示不能使用crontab 命令的用户
/etc/cron.allow 表示能使用crontab的用户。
  
如果两个文件同时存在,那么/etc/cron.allow 优先。
如果两个文件都不存在,那么只有超级用户可以安排作业。
  
  
每个用户都会生成一个自己的crontab 文件。这些文件在/var/spool/cron目录下:
  
如:
[root@dave ~]# cd /var/spool/cron
[root@dave cron]# ls
oracle  root
  
我们直接查看这个文件,里面的内容和对应用户显示的crontab -l 一致。
[root@dave cron]# cat oracle
00 6 * * * /u02/scripts/del_st_archive.sh >/u02/scripts/del_st_arch.log 2>&1
[root@dave cron]# cat root
0 12 * * * /root/bin/sync-clock.sh
[root@dave cron]#
  
  
二.  Crontab 使用说明
  
2.1  Crontab语法
usage:  crontab [-u user] file
        crontab [-u user] [ -e | -l | -r ]
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)
        -l      (list user's crontab)
        -r      (delete user's crontab)
        -i      (prompt before deleting user's crontab)
        -s      (selinux context)
  
       其中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。
  
  
帮助:
[root@dave ~]# man crontab
CRONTAB(1)                                                          CRONTAB(1)
  
NAME
       crontab - maintain crontab files for individual users (ISC Cron V4.1)
  
SYNOPSIS
       crontab [-u user] file
       crontab [-u user] [-l | -r | -e] [-i] [-s]
  
DESCRIPTION
       Crontab  is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in ISC Cron.  Each user can have their own crontab,  and  though these  are  files in /var/spool/ , they are not intended to be edited directly. For SELinux in mls mode can be even more crontabs  -  for  each  range.  For  more  see selinux(8).
       If  the  cron.allow  file  exists,  then  you must be listed therein in order to be allowed to use this command.  If  the  cron.allow  file  does  not  exist  but  the cron.deny  file  does  exist,  then you must not be listed in the cron.deny file in order to use this command.  If neither of these files exists, only the  super  user will be allowed to use this command.
  
OPTIONS
       -u     It  specifies  the name of the user whose crontab is to be tweaked.  If this  option is not given, crontab examines "your" crontab, i.e., the  crontab  of the  person  executing the command.  Note that su(8) can confuse crontab and               that if you are running inside ofsu(8) you should always use the -u  option               for  safety¡¯s sake.  The first form of this command is used to install a new               crontab from some named file or standard input if the pseudo-filename "-" is               given.
       -l     The current crontab will be displayed on standard output.
       -r     The current crontab will be be removed.
       -e     This  option  is used to edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables.  After you exit from the edi-tor, the modified crontab will be installed automatically.
       -i     This  option  modifies the -r option to prompt the user for a ¡¯y/Y¡¯ response before actually removing the crontab.
       -s     It will append the current SELinux security context string as  an  MLS_LEVEL setting  to  the  crontab file before editing / replacement occurs - see the documentation of MLS_LEVEL in crontab(5).
  
SEE ALSO
       crontab(5), cron(8)
FILES
       /etc/cron.allow
       /etc/cron.deny
STANDARDS
       The crontab command conforms to IEEE Std1003.2-1992 (¡®¡®POSIX¡¯¡¯).  This new  command syntax  differs  from  previous versions of Vixie Cron, as well as from the classic
       SVR3 syntax.
DIAGNOSTICS
       A fairly informative usage message appears if you run it with a bad command line.
AUTHOR
       Paul Vixie <vixie@isc.org>
4th Berkeley Distribution       16 Januar 2007                      CRONTAB(1)
  
  
  
  
  
2.2  Crontab 格式说明
       我们可以用crontab -e 添加要执行的命令。 命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。
       
   添加的命令必须以如下格式:
   * * * * * /command path
       
       前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。 各个字段之间用spaces和tabs分割。
  
前5个字段分别表示:
       分钟:0-59
       小时:1-23
       日期:1-31
       月份:1-12
       星期:0-6(0表示周日)
  
还可以用一些特殊符号:
       *: 表示任何时刻
       ,: 表示分割
  -:表示一个段,如第二端里: 1-5,就表示1到5点
       /n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.
  
  
一些示例:
00 8,12,16 * * * /data/app/scripts/monitor/df.sh
30 2 * * * /data/app/scripts/hotbackup/hot_database_backup.sh
10 8,12,16 * * * /data/app/scripts/monitor/check_ind_unusable.sh
10 8,12,16 * * * /data/app/scripts/monitor/check_maxfilesize.sh
10 8,12,16 * * * /data/app/scripts/monitor/check_objectsize.sh
  
43 21 * * * 21:43 执行
15 05 * * *    05:15 执行
0 17 * * * 17:00 执行
0 17 * * 1 每周一的 17:00 执行
0,10 17 * * 0,2,3 每周日,周二,周三的 17:00和 17:10 执行
0-10 17 1 * * 毎月1日从 17:00到7:10 毎隔1分钟 执行
0 0 1,15 * 1 毎月1日和 15日和 一日的 0:00 执行
42 4 1 * *     毎月1日的 4:42分 执行
0 21 * * 1-6   周一到周六 21:00 执行
0,10,20,30,40,50 * * * * 每隔10分 执行
*/10 * * * *        每隔10分 执行
* 1 * * *         从1:0到1:59 每隔1分钟 执行
0 1 * * *         1:00 执行
0 */1 * * *        毎时0分 每隔1小时 执行
0 * * * *         毎时0分 每隔1小时 执行
2 8-20/3 * * *      8:02,11:02,14:02,17:02,20:02 执行
30 5 1,15 * *       1日 和 15日的 5:30 执行
  
  
2.3  & 后台执行命令
  
       当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。
  
       如:
       30 2 * * * /data/app/scripts/hotbackup/hot_database_backup.sh &
  
       在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。
       不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:
       如:
              command >out.file 2>&1 &
  
       在这个例子中,2>&1表示所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。
  
2.4  2>&1 含义
  
先看一个例子:
0 2 * * * /u01/test.sh >/dev/null 2>&1 &
  
这句话的意思就是在后台执行这条命令,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null 文件,也就是清空。
  
在这里有有几个数字的意思:
       0表示键盘输入
       1表示标准输出
       2表示错误输出.
  
  
我们也可以这样写:
0 2 * * * /u01/test.sh  >/u01/out.file &  --这里没写,默认是1
0 2 * * * /u01/test.sh  1>/u01/out.file &
0 2 * * * /u01/test.sh  2>/u01/out.file &
0 2 * * * /u01/test.sh  2>/u01/out.file  2>&1 &
  
将tesh.sh 命令输出重定向到out.file, 即输出内容不打印到屏幕上,而是输出到out.file文件中。
  
2>&1 是将错误输出重定向到标准输出。 然后将标准输入重定向到文件out.file。
&1 表示的是文件描述1,表示标准输出,如果这里少了&就成了数字1,就表示重定向到文件1。
  
& :后台执行
  
测试:
ls 2>1 : 不会报没有2文件的错误,但会输出一个空的文件1;
ls xxx 2>1: 没有xxx这个文件的错误输出到了1中;
ls xxx 2>&1: 不会生成1这个文件了,不过错误跑到标准输出了;
ls xxx >out.txt 2>&1 == ls xxx 1>out.txt 2>&1;  因为重定向符号>默认是1,这句就把错误输出和标准输出都传到out.txt 文件中。
  
  
2.5  2>&1写在后面的原因
       格式:command > file 2>&1   == command  1> file 2>&1
  
       首先是command > file将标准输出重定向到file中, 2>&1 是标准错误拷贝了标准输出,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。
  
如果改成: command 2>&1 >file
       2>&1 标准错误拷贝了标准输出的行为,但此时标准输出还是在终端。>file 后输出才被重定向到file,但标准错误仍然保持在终端。


cronv:CRONTAB的可视化器 克朗夫 在crontab中可视化您的cron计划 安装 $ go get github.com/takumakanari/cronv/cronv $ go build -o ./cronv github.com/takumakanari/cronv/cronv $ mv ./cronv /usr/local/bin # or anywhere $ cronv --help 基本用法 Cronv可以从stdin解析您的crontab,如下所示: $ crontab -l | cronv -o ./my_cron_schedule.html 您还可以指定分析作业计划的持续时间。 在以下情况下,将分析从现在到24小时后的工作计划: $ crontab -l | cronv -o ./my_cron_schedule.html -d 24h Cronv可以解析以基本cron格式编写的 立即下载

相关推荐

Kali Linux下John the Ripper实战:从识别yescrypt哈希到破解zip压缩包(保姆级避坑指南)

本文详细介绍了在Kali Linux中使用John the Ripper工具从识别yescrypt哈希到破解zip压缩包的全过程。针对常见的'No password hashes loaded'报错,提供了两种解决方案,并扩展讲解了哈希识别、zip文件破解及性能优化技巧,是安全测试人员的实用指南。

weixin_29323365的博客 236

Linux 之 crontab 【配置定时任务】

shell脚本手动执行没问题,crontab定时执行失败 Linux配置定时任务crontab

sszdzq的博客 5258

SAP-PM设备模块-PM主数据之维护策略

预防性维护的一种计划方式,需要先建立维护策略什么情况下需要创建维护策略?

TRUIXIANG的博客 2570

[Linux 学习] 定时任务 - crontab 命令

crontab是 Linux 系统中用来设置周期性被执行任务的命令。它的名字来源于希腊语 “chronos”(时间),通过配置crontab文件,用户可以指定系统在特定的时间、日期或间隔自动执行脚本或命令。系统会启动一个叫crond的守护进程,负责读取crontab文件中的配置信息,并在指定时间执行相应任务。

Cheese_Y的博客 5526

C#实现跨域访问共享文件夹的账号密码验证方案

本文详细介绍了在C#中实现跨域访问共享文件夹的账号密码验证方案。通过调用Windows API LogonUser函数,结合LOGON32_LOGON_NEW_CREDENTIALS登录类型,可安全模拟指定用户身份,有效解决工作组与域环境间的文件共享访问难题。文章提供了完整的工具类封装、多种实战场景示例及详细的错误排查指南。

pea55的博客 539

2025电赛嵌入式:K210教程-如何刷固件 如何烧录代码 全网唯一

本文介绍了K210开发板的固件刷写和开发环境搭建方法。主要内容包括:1)从Sipeed官网下载合适的MaixPy固件,根据需求选择完整版或精简版;2)使用k-flash等工具烧录固件,注意区分亚博和Sipeed开发板的固件版本;3)介绍了擦除闪存的两种模式(部分擦除和完全擦除)及其应用场景;4)搭建CanMV开发环境,通过MaixPy IDE连接开发板并进行程序调试。文章还提供了常见问题的解决方法,如串口驱动安装、固件兼容性检查等,为K210开发提供了完整的入门指南。

FJN110的博客 546

crontab的使用方法介绍

    使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行安装:apt-get install cron   (服务器环境下默认都会安装)使用:crontab -e   进入编辑页面(第一次进入会让你选择编辑器)          crontab -l   查看当前的定时任务以上是crontab的使用规则,以及定时方法的...

python小白的逆袭之路 7万+

【推荐100个unity插件之27】推荐5种办法实现unity人物布料系统 衣服裙子飘动 头发飘动 胸部抖动 骨骼模拟 配件摆动 尾巴摆动 —— 主要是Magica Cloth 2插件

要实现Unity中的人物布料系统并使其具备动态效果,可以探索多种技术方法。这些方法不仅可以使衣服、裙子、头发等元素自然飘动,还可以实现胸部抖动、骨骼模拟、配件摆动和尾巴摆动等细致效果。本文将深入探讨五种实现这些动态效果的技术方案,从基础的物理模拟到高级的动画控制,帮助你打造逼真的人物表现。本文主要探究Magica Cloth 2的使用,因为我想探究最好的实现方法,而不是探究最多的实现方法。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 6299

Linux中Crontab(定时任务)命令详解

crontab是Linux系统中一个强大的定时任务工具,通过简单的配置,我们可以自动化许多日常任务。本文介绍了crontab的基本使用、配置方法以及一些实用的示例,希望能够帮助读者更好地理解和使用crontab。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章Linux系统使用超详细(七)~定时任务:crontabLinux中Crontab(定时任务)命令详解及使用教程-腾讯云开发者社区-腾讯云。

ning的博客 2万+

知识图谱开发实战:搭建上市公司知识图谱(二)

搭建上市公司知识图谱(二)学习目标1. 获取上市公司公开数据1.1 获取上市公司列表与行业信息1.2 代码展示2. 从网站爬取上市公司网页并存储为 HTML文件2.1 准备环境2.2 爬取上市公司公开信息3. 解析HTML文件,获取高管信息并存储为 csv 文件4. 设计知识图谱数据库4.1 实体4.2 关系4.3 属性4.4 特殊4.5 代码5. 知识图谱数据库查询实战5.1 实战:按照neo4j的数据格式,转换CSV文件5.2 实战:使用neo4j-admin 导入数据5.3 实战:使用neo4j-b

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 2094

深入解析雪球网股票行情数据爬取:基于WebSocket与API的实时数据获取技术实践

本文详细介绍了如何使用Python爬虫技术获取雪球网的股票行情数据,涵盖了WebSocket实时数据连接和RESTful API接口调用两种主要技术方案。完整的WebSocket客户端,支持实时行情订阅和数据处理功能丰富的API客户端,支持多种数据类型的获取数据存储和管理系统,使用SQLite进行数据持久化实时监控和预警系统,支持自定义预警规则技术指标计算,提供基本的数据分析功能。

2201_76125261的博客 1255

linux定时任务crontab命令详解,看这一篇就够了

linux定时任务crontab命令详解,看这一篇就够了 本篇文章思维导图 一、概述 1.1 crontab命令简介 有时候我们需要在linux系统中定时执行一些命令,比如说定时执行监控脚本来检测某个服务是否正常,不正常的话就把服务拉起,这个时候就会用到crontab命令了。 crontab命令,一般在Linux系统中用来设置被周期性执行的任务,将任务存放于crontab文件中。crontab命令依赖crond服务,只有安装了crond服务,crontab命令才能使用,一般在安装操作系统时,crond服务会

任培培的博客 9413

一次搞懂 OData Deep Create:在 ABAP Client Proxy 中优雅完成父子实体的一键插入

摘要: 本文面向熟悉SAP Gateway与OData的ABAP工程师,详解Deep Create的核心概念与实现。Deep Create允许在一次请求中原子化创建主实体及其关联子实体(如Team与Manager),解决多次HTTP请求导致的脏写问题。对比OData v2/v4协议差异后,重点阐述ABAP Client Proxy中通过Data Description Node构造层级数据描述树的方法,包括根/子节点定义、属性对齐及业务数据绑定。提供可复用的ABAP代码骨架,并区分Deep Create与$

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 185

Linux中Crontab(定时任务)命令详解及使用教程

Crontab介绍: Linux crontab是用来crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρ?νο?),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。当安装完成操作系统之后,默认便会启动此任务调度命令。crond 命令每分

qq_51514930的博客 11万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Linux定时任务Crontab命令详解

参考链接:https://www.cnblogs.com/shamo89/p/10160946.html 一、crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则......

大宇进阶之路的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Linux设置定时任务命令crontab详细解释

Linux设置定时任务命令crontab详细解释1、 crontab命令概念和意义2、检查是否安装了crontab命令3、crontab服务启动与关闭4、全局配置文件5、用户配置文件6、crontab文件格式7、特殊字符8、写脚本测试功能9、编写一条定时任务10、查询当前用户定时任务11、删除当前用户定时任务12、设置crond开机自动启动13、定时任务实例 1、 crontab命令概念和意义...

徊忆羽菲 108万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

crontab执行linux命令,Linux 下执行定时任务 crontab 命令详解

许多内容抄录自自 竹子的博客1、先来一个小小的例子查看当前路径:[root@root test]# pwd/home/admin/test[root@root test]# crontab -l查看当前用户的定时任务 也可以 crontab -uroot -l查看指定用户的定时任务。千万不要忘了中间的 sh 表示用户拿什么来执行命令00 02 * * * sh /home/admin/optbas...

weixin_26814683的博客 441

Linux定时任务crontab命令

crontab

qq_41081716的博客 1324

Linux定时任务 crond服务及crontab命令

一、crond服务 服务操作说明: service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 service crond reload //重新载入配置 ser...

u012139282的博客 624

Linux crontab命令 定时任务 用法详解

来源:https://www.cnblogs.com/sunshine-H/p/9336960.html 一、Linux系统安装crontab服务   1.确认crontab是否安装   # crontab -l   如果报 “command not found” ,就说明该crontab服务没有安装   如果报 “no crontab for root” ,就说明...

乐逍遥 463

定时任务工具Linux crontab命令详解

crontab:定时任务的守护进程,精确到分,设计秒的我们一般写脚本 -->相当于闹钟 日志文件: ll /var/log/cron* 编辑文件: vim /etc/crontab 进程:ps -ef | grep crond ==> /etc/init.d/crond restart 作用:定时备...

ai80233407的博客 831

Linux 定时任务命令crontab

crontab是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

分享DotNet技术和日常开发笔记,DotNet,Python为主。 1007

linux定时器crontab时间设置,Linux定时任务Crontab命令

概念:crontab命令用于设置周期性被执行的指令crontab文件格式:* * * * * commandminute hour day month week command分 时 天 月 星期 命令minute: 表示分钟,可以是从0到59之间的任何整数。hour:表...

weixin_30782699的博客 1379

【转帖】Linux定时任务Crontab命令详解

Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲systemd 里面的 service 文件也搞明白怎么用的话 以后对linux的使用效率会更高了 原作者写的很好呢 改天进行试验, lin...

weixin_30703911的博客 134
上一篇: jquery组件 bxslider 的使用介绍
下一篇: PHP通过iconv将字符串从GBK转换为UTF8字符集
zbtree
博客等级 码龄23年 33粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值