linux系统任务调度命令crontab
循环重复的执行计划任务、有计划性的执行任务,像这种任务,在linux系统中就有cron命令来完成。
linux系统下的任务调度分为两类:系统任务调度和用户任务调度。
/etc/crontab文件就是系统任务调度的配置文件:
[root@centos ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
[root@centos ~]#
前四行是配置crond任务运行的环境变量,第一行SHELL变量指定了使用/bin/bash,第二行PATH变量指定了系统执行命令的路径。第三行MAILTO变量指定了cron的任务执行信息将发送给root用户,第四行HOME变量指定了在执行命令或者脚本时使用的主目录,
用户任务调度:用户顶起要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用crontab工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron/目录中,其文件名和用户名保持一致。
文件:
/etc/cron.deny #该文件中所列用户不允许使用crontab命令
文件:
/etc/cron.allow #该文件中所列用户允许使用crontab命令
文件:
/var/spool/cron/ #所有用户crontab文件存放的目录,以用户名命名
crontab的使用格式:minute hour day month week command
如果minute使用*表示,则代表每分钟,可取0-59之间的整数。一次类推。
command表示要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
crond服务是集成在系统上的,哪怕是安装最小化系统,这项服务也会被安装上。
crontab 命令格式: crontab [ –u user ] file
crontab [ -u user ] [ –e ] [ –l ] [ –r ] [ –i ]
crontab –u jack 表示使用jack这个用户来运行命令
-e参数的意思是“编辑” -l参数的含义是“查看计划任务” -r参数的含义是“删除计划任务”这个参数会删除/var/spool/cron目录下的所有几乎任务。-i参数的意思是在删除用户的crontab文件是给确认提示。给出交互提示。
实例: 0 4 1 jan * /etc/int.d/smb restart #1月1号早上4点整重启smb服务。
01 * * * * root run-parts /etc/cron.hourly #每小时以root用户的身份执行/etc/cron.hourly目录下的所有脚本。 注:如果去掉run-parts参数的话,目录后面就必须跟上某个具体的脚本,而不能是某个文件夹。
注意:
1. 如果我们创建了一个crontab文件,但是任务无法执行,而手动执行这个任务是没有问题的。这种情况下一般是由于在crontab文件中没有配置环境变量引起的。
2. 注意清理系统用户的邮件日志,每条任务调度执行完毕,系统都会将任务输出信息通过电子邮件传递给用户,改信息一般保存在/var/spool/mail目录下。这样日积月累,这个目录下的日志信息会非常大,可能会影响系统的正常运行。因此将每条任务执行后进行重定向非常重要。
例:0 */3 * * * /usr/local/apache2/apachectl restart >/dev/null 2>&1
>/dev/null的意思是将输出信息清除,2>&1的意思是将标准错误重定向到标准输出,而标准输出已经重定向到了/dev/null中,所以无论是标准输出还是标准错误都会重定向到/dev/null中。
另外,新建的cron job不会立马执行,至少要等两分钟才能执行,如果重启cron才会马上执行。
当crontab突然失效时,可以重启cron服务;或者查看日志:tail -f /var/log/cron
linux系统任务调度命令crontab的更多相关文章
- Linux任务调度命令(轻松管理Linux)
Linux任务调度其实就是让系统在某个时间执行某些命令或者程序,这样可以让管理员更加轻松地管理自己的Linux,当我刚了解到这个方法时,我的内心充满了无尽的欣喜,感觉Linux实在是太强大了. 下面我 ...
- linux下的crontab服务
linux下的crontab服务:1.crontab 是用来让使用者在固定时间或固定间隔执行程序之用在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现.以某一频率执行任务linux缺 ...
- Linux提示no crontab for root的解决办法
Linux提示no crontab for root的解决办法 安装crontab:yum install crontabs 说明:/sbin/service crond start //启动服务/s ...
- Linux计划任务Crontab实例详解教程
说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...
- linux下使用crontab定时备份MYSQL数据库的方法:
摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...
- Linux中的crontab命令用法
Crontab 在linux中,crontab的用来设置定期执行指定的命令,我们可以用它来指定一些需要重复的事情,Linux系统的用户只需将想要定期要执行的命令序列加到crontab文件中,操作系统即 ...
- MySQL定时备份之使用Linux下的crontab定时备份实例
这篇文章主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下 复制代码代码如下: ##################################### ...
- Linux定时任务命令crontab
作为一个php码农,linux接触总是很少,但又是必须会的一项技能,今天学到的linux命令是crontab命令. 注:以下总结基于Ubuntu 12.04 去/etc目录下看看 先去Ubuntu的/ ...
- LINUX下使用crontab进行RMAN备份实验
之前写了脚本,手动执行可以,使用crontab总是无法运行成功,今天下午花了两个小时实验,完成如下: 注意事项:脚本完成首先手动执行,确定可以正常执行. 在crontab中使用,要注意以下几点: 1. ...
随机推荐
- OpenGL之坐标转换(好文-清晰版)
http://blog.csdn.net/zhongjling/article/details/8488844OpenGL之坐标转换(好文-清晰版)
- Lucene小例子
package org.itat.test; import java.io.File; import java.io.FileReader; import java.io.IOException; i ...
- yii中渲染模板时render与renderPartial的区别
render方法在渲染模板时会将渲染布局文件,而renderPartial则不会渲染布局
- Java 高阶 —— try/catch
// try catch 在 for 循环外 try { for(int i = 0; i < max; i++) { String myString = ...; float myNum = ...
- python 二分法例子及冒泡排序
#!/usr/bin/env python #-*- coding:utf-8 -*- def binary_search(source_data,find_nu): mid = len(source ...
- spring配置数据库连接池
1. jdbcConfig.properties文件中 jdbc.jdbcUrl=jdbc:mysql:///ssm-crudjdbc.driverClass=com.mysql.jdbc.Drive ...
- tyvj1391走廊泼水节——kruskal
题目:http://www.joyoi.cn/problem/tyvj-1391 大意就是把一个树扩充成一个完全图,并且图中最小生成树仍是原来的树. 思路很巧妙,把边按权值从小到大排序,然后模拟加边的 ...
- rsync(五)工作机制
当我们讨论rsync时,我们使用了一些特殊的术语来代表不同的进程以及它们在任务执行过程中所扮演的角色.人类为了更方便.更准确地交流,使用同一种语言是非常重要的:同样地,在特定的上下文环境中,使用固定的 ...
- web单机优化
又得开始写博客了,目测又要一周一篇了,当然了这不算python跟前端的,个人喜欢notepad++可惜不能放图片,word什么的太讨厌了 为什么要单机优化呢,很简单,因为不论以后是各类集群也好,物理机 ...
- 【223】◀▶ IDL HDF 文件操作说明
参考:I/O - HDF Routines —— HDF 操作函数 01 HDF_SD_START 打开一个 SDS 模式的 HDF 文件. 02 HDF_SD_END 关闭一个 SDS 模式 ...