1.crontab的概念:

crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。系统管理员可以通cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的crontab文件。

2.Cron配置文件

2.1全局配置文件

crontab在/etc目录下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五个目录和crontab,cron.deny二个文件.

cron.daily是每天执行一次的job,cron.weekly是每个星期执行一次的job.cron.monthly是每月执行一次的job,cron.hourly是每个小时执行一次的job.cron.d是系统自动定期需要做的任务,但是又不是按小时,按天,按星期,按月来执行的,那么就放在这个目录下面.

/etc/crontab文件一般如下:

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

我们可在此文件中添加自己需要的cron job.

/etc/cron.deny文件就是用于控制不让哪些用户使用Crontab的功能.

2.2用户配置文件

每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.  注意,普通用户一般没有权限访问/var/spool/cron

linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容.

3.Crontab的语法及应用

1:查看当前用户的定时任务

[oracle@localhost ~]$ crontab -l

* * * * * /home/oracle/test.sh >/dev/null 2>&1

2:编辑当前用户的定时任务

可以在编辑状态修改、删除、新增一些定时任务。注释一般用#

[oracle@localhost ~]$ crontab -e

3:删除当前用户的定时任务

[root@localhost ~]# crontab -r

[root@localhost ~]# crontab -l

no crontab for root

4.Cron文件格式

*  *  *  *  *  command
分 时 日 月 周   命令

第1列表示分钟1~59, 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

a)当f1 为 * 时表示每分钟都要执行 program,  f2 为 * 时表示每小时都要执行程序,其余类推.

* * * * * /bin/usershell  表示每天每分钟执行一次/bin/usershell

b)当f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推.

0-12 * * * * /bin/usershell  每天每小时从0到12分钟每分钟执行一次/bin/usershell
c)当f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推.

* */2 * * * /bin/usershell  每天每2小时执行一次/bin/usershell
d)当f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推.

* 1,3,5,7 * * * /bin/usershell  每天每逢1,3,4,7点执行一次/bin/usershell

5.Crontab的注意事项:

配置定时任务时,需要注意两个问题:

1: 在SHELL脚本中要设置必要的环境变量;例如一个shell脚本手工执行OK,但是配置成后台作业执行时,获取不到ORACLE的环境变量,这是因为crontab环境变量问题,Crontab的环境默认情况下并不包含系统中当前用户的环境。所以,你需要在shell脚本中添加必要的环境变量的设置

2: 尽量所有的文件都采用完全路径方式,避免使用相对路径。

Linux中Crontab的用法的更多相关文章

  1. AIX 与Linux 中crontab 介绍

    AIX 与Linux 中crontab 用法相似,先介绍Linux 中的Crontab 用法,再后介绍AIX 与Linux 的不同之处.   一.Crontab 介绍 crontab命令的功能是在一定 ...

  2. Linux中find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  3. [转]Linux中find常见用法示例

    Linux中find常见用法示例[转]·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;find命令的参 ...

  4. linux中make的用法

    一.linux中make的用法 目的:       基本掌握了make 的用法,能在Linux系统上编程.环境:       Linux系统准备:       准备三个文件:file1.c, file ...

  5. Linux中“!"的神奇用法

    前言 实际上,不起眼的“!”在linux中有着很多让你惊叹的妙用.本文就来细数那些“!”的神奇用法. 执行上一条命令 例如,在执行完上面一条命令后,可以使用下面的方式再次执行上一条命令: $ wher ...

  6. Linux中sed的用法实践

    Linux中sed的用法实践 参考资料:https://www.cnblogs.com/emanlee/archive/2013/09/07/3307642.html http://www.fn139 ...

  7. Linux中Sed的用法

    Linux中Sed的用法 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: ...

  8. Linux中crontab无法执行java程序的问题

    Linux中crontab无法执行java程序的问题 jdk环境变量配置问题:可以用全路径来解决: 竟然是kill -9之后,后面的脚本都不运行,这个还没有找到原因啊: 即便是系统级别的 ls 命令, ...

  9. (转)linux 中特殊符号用法详解

    linux 中特殊符号用法详解 原文:https://www.cnblogs.com/lidabo/p/4323979.html # 井号 (comments)#管理员  $普通用户 脚本中 #!/b ...

随机推荐

  1. xxl-job源码阅读二(服务端)

    1.源码入口 xxl-job-admin是一个简单的springboot工程,简单翻看源码,可以很快发现XxlJobAdminConfig入口. @Override public void after ...

  2. 适用于windows10 Linux子系统的安装管理配置 How To Management Windows Subsystem for Linux WSL

    什么是WSL Windows Subsystem for Linux 简称WLS,适用于Linux的Windows子系统,可以直接在Windows上运行Linux环境(包括大部分命令行工具) Linu ...

  3. [bug] httpd服务启动问题

    参考 httpd服务器启动失败 https://www.cnblogs.com/Crazy-Liu/p/11550824.html Apache-httpd服务器启动成功网页却不能访问 https:/ ...

  4. [bug] kafka启动报错 could not be established. Broker may not be available.

    原因 配置文件和命令行中的主机名不一致,建议都用ip地址 参考 https://blog.csdn.net/getyouwant/article/details/79000524

  5. 其他CSS属性

    一.设置元素的颜色和透明度 a.color color 属性规定文本的颜色.这个属性设置了一个元素的前景色(在 HTML 表现中,就是元素文本的颜色):光栅图像不受 color 影响.这个颜色还会应用 ...

  6. 就算是3.0的U盘,写入速度10M及以下也是正常的,U盘用很差的闪存颗粒的话就算10Gbps的USB3.1也是很慢的。

    作者:范德成链接:https://www.zhihu.com/question/56251636/answer/157021710来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  7. JQuery Ajax 请求参数 List 集合处理

    引言 JQuery Ajax 发送请求参数一般都是基本类型,比如 String.int:那么,请求参数如果是 List 集合应该如何处理呢? 情况一:Aajx 发送 List 类型请求参数 举例如下: ...

  8. ubuntu设置允许root用户登录

    一.允许ssh登录root用户(命令行) 1.修改root 密码,sudo passwd root 2.修改ssh配置, sudo vim /etc/ssh/shd_config,修改文件中的Perm ...

  9. Docker学习(15) Docker容器的跨主机连接

    Docker容器的跨主机连接 Docker使用网桥跨主机容器连接 Docker使用Open cSwitch实现跨主机容器连接 Docker使用weave实现跨主机容器连接

  10. Python+Selenium - 窗口切换

    当有新窗口出现时,并要在新窗口操作,步骤: 1.产生新窗口 2.获取所有窗口的句柄:driver.window_handles 3.切换函数:driver.switch_to.window(新窗口句柄 ...