博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
crontab详解
阅读量:4670 次
发布时间:2019-06-09

本文共 1377 字,大约阅读时间需要 4 分钟。

目录

表达式格式

image

命令格式

crontab [-u user] file或者crontab [-u username]     //可选,省略则表示操作当前用户的crontab        -e        //编辑crontab定时任务        -l        //列出crontab里的内容        -r        //删除crontab
  • -u user:用来设定某个用户的crontab服务;
  • file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
  • -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
  • -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
  • -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
  • -i:在删除用户的crontab文件时给确认提示。

crontab的命令由时间和命令构成,其时间由分、时、日、月、周五种按顺序排列,操作符有:

*:任何时间/:每隔多久-:连续时间,:不连续的时间

实例说明

每分钟执行一次命令

* * * * * 命令每小时的第10分钟和第30分钟执行10,30 * * * * 命令在8点到10点的每分钟执行* 8-10 * * * 命令每月15号每隔10分钟执行*/10 * 15 * * 命令每周一的六点三十分执行30 6 * * 1 命令

系统运行的调度程序

/etc/crontab同时在/etc目录下还存放了/etc/cron.deny 和 /etc/cron.allow 文件/etc/cron.deny 表示不能使用crontab 命令的用户/etc/cron.allow 表示能使用crontab的用户。如果两个文件同时存在,那么/etc/cron.allow 优先。如果两个文件都不存在,那么只有root用户可以安排作业。

用户任务文件

/var/apool/cron/用户

查看日志

记录是否执行了某些计划的脚本

$ less /var/log/cron

具体执行是否正确以及脚本执行过程中的一些信息则linux会每次都发邮件到/var/spool/mail下面

$ cd  /var/spool/mail

通过这些就可以判断脚本执行正确与否,及执行过程中是否正确以及一些错误的信息,除此之外 cron 还可以添加邮件通知

#你的命令要在哪运行SHELL=/bin/bash#为这个shell添加环境变量,如你的命令需要java环境PATH=$PATH:/your_jdk_path#当运行出错将邮件发送给谁MAILTO=user_name或者你的qq邮箱

延伸

通过这些了解,我们可以做个调度系统,通过脚本设定定时任务。当我有十几台甚至上百台服务器,通过这个系统,可以极大解放劳动力,便于管理。

参考

转载于:https://www.cnblogs.com/followyou/p/10456800.html

你可能感兴趣的文章
Flask - 基础
查看>>
导航栏主题
查看>>
堆排序
查看>>
Expm 1_2 实现快速排序的算法,并尝试采用不同的方法实现线性的划分过程.
查看>>
Spoon新建repository的时候
查看>>
Oracle XE http端口8080的修改
查看>>
C#中,将16进制转换为有符号的10进制的方法(支持带0x标志,支持任意字符串)
查看>>
HTML5开发 Web SQL Database 本地数据库
查看>>
数据库镜像搭建
查看>>
python实现句子反转
查看>>
Django------多表操作
查看>>
java入门之内部类
查看>>
c之枚举默认值
查看>>
设计模式之 --- 工厂模式(下)
查看>>
Linux常用命令大全
查看>>
巴洛克式和哥特式的区别
查看>>
[转载]:C# 中结构与类的区别
查看>>
maven-javadoc-plugin
查看>>
Ubuntu 14.04环境变量修改
查看>>
多线程Lock版生产者和消费者模式
查看>>