crontab   -e   是针对用户的cron来设计的,如果是系统的例行性任务,该怎么办?是否还是需要以crontab -e来管理例行性命令?当然不需要,您只需要编辑/etc/crontab文件就可以了。需要注意的是:crontab -e的作用其实是/usr/bin/crontab这个执行文件,但是/etc/crontab是个纯文本文件,可以root的身份编辑这个文件。
       
          基本上,cron服务的最低检测时间单位是分钟,所以cron会每分钟读取一次/etc/crontab与/var/spool/cron中的数据内容,因此,只要您编辑完/etc/crontab文件并且保存之后,crontab时设定就会自动执行。

注意:在linux下的crontab会自动帮我们每分钟重新读取一次/etc/crontab的例行工作事项,但是某些原因或在其他的unix系统中,由于crontab是读到内存中,所以在您修改完/etc/crontab之后可能并不会马上执行,这时请重新启动crond服务。
/etc/rc.d/init.d/crond   restart

好了,下面看看/etc/crontab文件的内容:
vi   /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

#   run-parts
01 * * * * root   nice   -n   19     run-parts   /etc/cron.hourly
02 4 * * * root   nice   -n   19    run-parts   /etc/cron.daily
22 4 * * * root    nice   -n   19   run-parts   /etc/cron.weekly
42 4 1 * * root   nice   -n    19  run-parts   /etc/cron.monthly

分时日月周   用户   参数设定值   参数设定值   指令段

从这个文件的内容可以看出,这个文件与输入crontab -e后的内容几乎完全相同,只是下面几个地方有所区别:

MAILTO=root:这个字段说明了当/etc/crontab文件中的例行性命令发生错误时,会将错误信息或屏幕显示的信息传递给谁?由于root无法在客户端收信,因此,可以将这个email改成自己普通用户帐号。 
 01 * * * * root   nice   -n   19     run-parts   /etc/cron.hourly:在#run-parts这一行以后的命令,我们可以发现,5个数字后面接的是root,这代表执行的层级为root身份。当然,您也可以root改成其他身份,而run-parts表示后面接的是/etc/cron.hourly是一个目录内(/etc/cron.hourly)的所有可执行文件,也就是说每个小时的01分,系统会以root的身份到/etc/cron.hourly目录下执行所有可以执行的文件。系统本来就默认了这4个目录,您可以将每天需要执行的命令直接写到/etc/cron.daily中,还不需要用到crontab -e程序,很方便。

注意:基本上,/etc/crontab支持两种输入指令的方式,一种是直接以指令形式输入,一种则是以目录形式输入。

指令形式

01   * * * * test   mail   -s   test   test   <   /home/test/test/test.txt
用户是test,且每小时执行一次指令mail……

目录形式

*/5   *  *  *  * root run-parts   /root/runcron
建立一个/root/runcron目录,将每隔5分钟执行一次的可执行文件都写到该目录下,就可以让系统每5分钟执行一次该目录下的所有可执行文件。
           
          这样就知道run-parts的作用了吧!此外,与crontab -e规划中不同的是,多了一个用户层级的概念。通常,我们都是以root的角度来规划例行命令的,但是总有不需要root的场合,因此可以使用这个层级来规范该程序的用户所属。

如果每个流程都在同一时间启动,那么在某个时段,系统会非常的繁忙,所以这时必须分别设定。可以这样做:
1,6,11,16,21,26,31,36,41,46,51,56 * * * * root …………   // 省略号代表命令
2,7,12,17,22,27,32,37,42,47,52,57 * * * * root ………… 
3,8,13,18,23,28,33,38,43,48,53,58 * * * * root ………… 
4,9,14,19,24,29,34,39,44,49,54,59 * * * * root ………… 
 注意,要用","分隔时,不要带有空格。如此一来,则可以将每5分钟工作的流程分别安排在不同的时刻进行。
文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/2008626/128554.html

转载于:https://blog.51cto.com/fangwei009/1633032

系统的crontab设定:/etc/crontab相关推荐

  1. cron每半个小时执行一次_如何用crontab设定程序每半个小时执行一次

    用crontab设定程序每天每半个小时执行一次,crontab怎么写? | 我写的有问题,应该 */30 * * * * cmd | 名称 : crontab 使用权限 : 所有使用者 使用方式 : ...

  2. linux crontab 管理,linux crontab 命令详解

    linux crontab 命令详解 使用方式 : crontab [ -u user ] file crontab [ -u user ] { -l | -r | -e } 说明 : crontab ...

  3. crontab命令linux,crontab命令

    crontab是英文"cron table"的简写.该命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具, ...

  4. Linux下的/etc/crontab文件和crontab -e命令区别及Crontab命令详解(转)

    1.格式不同 前者 # For details see man 4 crontabs# Example of job definition: # .---------------- minute (0 ...

  5. Mac上crontab与/etc/crontab定时任务

    一.crontab用法 1.开启crontab服务 <1>.查看 crontab 是否启动 # sudo launchctl list | grep cron<2>.检查需要的 ...

  6. linux同步时间命令crontab,为什么在crontab中使用ntpdate同步时间无效?

    在一台 VirtualBox 上安装的 CentOS 5.8 系统上,时间不准确,一天能差上好几个小时,每次测试与时间相关的程序时,总得先去调整时间.于是在crontab中设置了一个定时任务:(cro ...

  7. linux中使用crontab出现crontab: installing new crontab

    今天又计划任务要使用crontab,出现一些小问题 1,添加后保存退出时出现提示(Do you want to retry the same edit?): 原因(编写格式错误) 2,保存退出cron ...

  8. linux系统locale的设定

    locale 是国际化与本土化过程中的一个非常重要的概念,个人认为,对于中文用户来说,通常会涉及到的国际化或者本土化,大致包含三个方面:看中文,写中文,与 window中文系统的兼容和通信.从实际经验 ...

  9. Oracle中安全库存设定和更新,安全库存的作用和实际意义,SAP系统安全库存的设定方法...

    一.安全库存的作用和实际意义 安全库存分静态安全库存和动态安全库存. 安全库存是企业中十分常见的现象,虽然很多企业都在向着零库存的理想目标迈进,但我们不得不承认,绝对意义上的零库存是不可能达到的.零库 ...

  10. Win10系统开始界面设定磁贴及保存

    Win10系统开始界面设定磁贴及保存 安装好win10 系统后,发现他这个布局和磁贴都不是我想要的样子,当然你可以在安装好系统之后手动设置一下.然后保存导出设置的样式文件~ 1.在测试计算机上自定义& ...

最新文章

  1. 如何用java+tomcat来创建网站服务器
  2. Canvas知识点汇总
  3. luogu_3966【题解】单词 AC自动机
  4. Java——File类
  5. 开课吧Java课堂:字符串如何处理?
  6. Java运行环境的配置(JDK和JRE)
  7. BZOJ1001狼抓兔子(网络流最小割)
  8. 段地址x16+偏移地址=物理地址的本质含义
  9. python b站自动签到_B站自动操作脚本(投币点赞分享视频,直播签到,获取银瓜子,自动转发抽奖,漫画APP签到)...
  10. 用ybc_box做小程序
  11. Django——09.spaceless, autescape, verbatim标签
  12. 日本风俗业数据_神奇宝贝如何融入日本民俗
  13. 【已解决】华为P10禁止系统更新EMUI9
  14. 前端知识之angular组件库之NG-ZORRO-ANTD结构窥探(一)components
  15. 小心肝队-冲刺日志(第五天)
  16. Python运算符优先级与结合性
  17. 黑龙江科学杂志黑龙江科学杂志社黑龙江科学编辑部2022年第24期目录
  18. Ubuntu18.04添加自启动脚本
  19. 极光魔链(JMLink)使用教程
  20. MySQL技术总结第一篇

热门文章

  1. AJAX:校验用户名是否被注册
  2. 2.1.1Remove Duplicates from Sorted Arr
  3. java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
  4. Mysql一主多从和读写分离配置简记
  5. TextBox获得焦点——客户端JavaScript
  6. qt-项目部署(某些情况下编译器中运行异常的话可以使用命令windeployqt 程序名在安装的qt dos命令下补全部分依赖库在运行项目或发布)
  7. 用最小二乘法拟合任意次函数曲线(C#)
  8. MFC+opencv 显示mat图像
  9. C#使用 System.Net.Mail发送邮件功能
  10. c语言中函数调用的原理