热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用linux命令crontab间隔时间执行其它命令

使用linux命令crontab间隔时间执行其它命令-1.1etccrontab文件在etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的

1.1 /etc/crontab 文件

在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。

如:



1.2 /etc/cron.deny 和 /etc/cron.allow 文件


如果两个文件同时存在,那么/etc/cron.allow 优先。如果两个文件都不存在,那么只有超级用户可以安排作业。

每个用户都会生成一个自己的crontab 文件。这些文件在/var/spool/cron目录下,如:



我们直接查看这个文件,里面的内容和对应用户显示的crontab -l 一致。


二.  Crontab 使用说明

2.1  Crontab语法

 -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目录下。

帮助:

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 of su(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).


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.


一些示例:



2.3  & 后台执行命令

当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。

如:



在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。

不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:

如:

在这个例子中,2>&1表示所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。

2.4  2>&1 含义

先看一个例子:



这句话的意思就是在后台执行这条命令,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null 文件,也就是清空。

在这里有有几个数字的意思:

0表示键盘输入

1表示标准输出

2表示错误输出.


我们也可以这样写:

将tesh.sh 命令输出重定向到out.file, 即输出内容不打印到屏幕上,而是输出到out.file文件中。

2>&1 是将错误输出重定向到标准输出。 然后将标准输入重定向到文件out.file。

&1 表示的是文件描述1,表示标准输出,如果这里少了&就成了数字1,就表示重定向到文件1。

& :后台执行

测试:



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,但标准错误仍然保持在终端。


推荐阅读
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文介绍了两种使用Java发送短信的方法:利用第三方平台的HTTP请求和通过硬件设备短信猫。重点讲解了如何通过Java代码配置和使用短信猫发送短信的过程,包括必要的编码转换、串口操作及短信发送的核心逻辑。 ... [详细]
  • 启动服务#servicecrondstart或者#etcinit.dcrondstart格式:*  *  *  *  *  command分 时 日 月 周  ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 本文深入探讨了 Delphi 中类对象成员的核心概念,包括 System 单元的基础知识、TObject 类的定义及其方法、TClass 的作用以及对象的消息处理机制。文章不仅解释了这些概念的基本原理,还提供了丰富的补充和专业解答,帮助读者全面理解 Delphi 的面向对象编程。 ... [详细]
  • 本文将指导如何向ReactJS计算器应用添加必要的功能,使其能够响应用户操作并正确计算数学表达式。 ... [详细]
  • 本文将探讨从ASP.NET 1.1到2.0期间编译系统的重要变革。通过对比两个版本的即时编译模型,我们将揭示2.0版本中引入的新特性和改进之处。 ... [详细]
  • 本文探讨了如何使用ls -lsh命令排除总大小输出,仅显示文件大小的方法,并提供了几种实现这一目标的解决方案。 ... [详细]
  • 在Android应用开发过程中,经常需要在SQLite数据库中快速插入大量数据。本文通过实例探讨了不同插入方法的效率,并提供了优化建议。 ... [详细]
  • 前言crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比较 ... [详细]
  • 本文介绍了如何使用pidstat工具来监控和分析Linux系统中进程的CPU使用率、内存消耗、磁盘I/O操作及线程的上下文切换情况。通过具体命令示例,帮助读者掌握如何有效地使用此工具进行性能调优。 ... [详细]
  • 这篇文章将为大家详细讲解有关如何解析crontabphp自动运行,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。cront ... [详细]
author-avatar
mobiledu2502889793
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有