Linux CronJob简介
2016-04-11 14:25
555 查看
Cron 是UNIX,SOLARIS,LINUX下的一个十分有用的工具。通过Cron脚本能使计划任务定期地在系统后台自动运行。这种计划任务在UNIX,SOLARIS, LINUX下术语为cron jobs。 Crontab (CRON表)则是用来记录在特定时间运行的CRON的一个脚本文件。
Crontab归结为以下几点特性:
1. Crontab约束
2. Crontab命令
3. Crontab文件语法
4. Crontab示例
5. Crontab环境设置
6. 邮件
7. 日志文件
8. 其它
1. Crontab约束
当用户名记录在文件/usr/lib/cron/cron.allow时,该用户的crontab有效。当/usr/lib/cron/cron.allow文件不存在时,用户名没被记录在/usr/lib/cron/cron.deny文件中,该用户的crontab也有效。当只存在/usr/lib/cron/cron.deny且为空时,所有的用户都可使用crontab。当前两个文件都不存在时,只有root用户可以使用crontab。Deny或allow记录以每行一个用户名的形式记录信息。
2. Crontab 命令
export EDITOR=vi ;为crontab文件指定一个编辑器。
crontab -e 编辑该用户的crontab,当指定crontab 不存在时新建。
crontab -l 列出该用户的crontab。
crontab -r 删除该用户的crontab。
crontab -u<用户名称> 指定要设定crontab的用户名称。
crontab –v 显示上一次编辑的时间(只在某些操作系统上可用)
3. Crontab 文件
Crontab语法一个crontab文件用五个段来定义:天,日期和时间,和一个要定期执行的命令代码。
所有的值都必须在相应的范围之内,否则视为无效。在填值区域内可以是*也可以是以”,”分隔的一组值。值可以是一个数据也可以是用连接符连起来的两个数(表示范围)。注:日期的格式可以是星期,也可以是一个月中的天。假如两个都有值,则在这两个时间都会执行。
4. Crontab 实例
下面是crontab文件中的一行,意思是在每天下午6:30中删除临时文件(临时文件存放在/home/someuser/tmp)。30 18 * * * rm
/home/someuser/tmp/*
以下我们改变参数的值使其在不同的时间运行:如下表
注:要是无意间键入了没带参数的crontab 命令,别Control-d退出,这样会删掉所有的cronjob。应该Control-c退出.
5. Crontab 环境设置
Cron其实是在shell(/usr/bin/sh).后台引用用户程序的命令。
Cron默认的shell环境是:
HOME=user's-home-directory
LOGNAME=user's-login-id
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh
用户希望自己的配置文件在表或者脚本的入口直接执行。
6.禁用邮件默认的cronjobs在执行任务时会给用户发一封邮件。如果您不需要的话可以通过以下命令关闭。>/dev/null 2>&1
7. 生成日志文件保存cronjobs日志只需作如下设置就可以
30 18 * * * rm/home/someuser/tmp/* >/home/someuser/cronlogs/clean_tmp_dir.log“/home/someuser/cronlogs/clean_tmp_dir.log”为日志文件保存的绝对路径
【转自:http://blog.csdn.net/hj402555749/article/details/7754402】
Crontab归结为以下几点特性:
1. Crontab约束
2. Crontab命令
3. Crontab文件语法
4. Crontab示例
5. Crontab环境设置
6. 邮件
7. 日志文件
8. 其它
1. Crontab约束
当用户名记录在文件/usr/lib/cron/cron.allow时,该用户的crontab有效。当/usr/lib/cron/cron.allow文件不存在时,用户名没被记录在/usr/lib/cron/cron.deny文件中,该用户的crontab也有效。当只存在/usr/lib/cron/cron.deny且为空时,所有的用户都可使用crontab。当前两个文件都不存在时,只有root用户可以使用crontab。Deny或allow记录以每行一个用户名的形式记录信息。
2. Crontab 命令
export EDITOR=vi ;为crontab文件指定一个编辑器。
crontab -e 编辑该用户的crontab,当指定crontab 不存在时新建。
crontab -l 列出该用户的crontab。
crontab -r 删除该用户的crontab。
crontab -u<用户名称> 指定要设定crontab的用户名称。
crontab –v 显示上一次编辑的时间(只在某些操作系统上可用)
3. Crontab 文件
Crontab语法一个crontab文件用五个段来定义:天,日期和时间,和一个要定期执行的命令代码。
* * * * * command to be executed - - - - - | | | | | | | | | +----- day of week (0 - 6) (Sunday=0) | | | +------- month (1 - 12) | | +--------- day of month (1 - 31) | +----------- hour (0 - 23) +------------- min (0 - 59) |
4. Crontab 实例
下面是crontab文件中的一行,意思是在每天下午6:30中删除临时文件(临时文件存放在/home/someuser/tmp)。30 18 * * * rm
/home/someuser/tmp/*
以下我们改变参数的值使其在不同的时间运行:如下表
min | hour | day/month | month | day/week | [align=left] Execution time[/align] |
[align=center]30[/align] | [align=center]0[/align] | [align=center]1[/align] | [align=center]1,6,12[/align] | [align=center]*[/align] | [align=left]-- 00:30 Hrs on 1st of Jan, June& Dec.[/align] |
[align=left]:[/align] | |||||
[align=center]0[/align] | [align=center]20[/align] | [align=center]*[/align] | [align=center]10[/align] | [align=center]1-5[/align] | [align=left]--8.00 PM every weekday (Mon-Fri) only inOct.[/align] |
[align=left]:[/align] | |||||
[align=center]0[/align] | [align=center]0[/align] | [align=center]1,10,15[/align] | [align=center]*[/align] | [align=center]*[/align] | [align=left]-- midnight on 1st ,10th & 15th ofmonth[/align] |
[align=left]:[/align] | |||||
[align=center]5,10[/align] | [align=center]0[/align] | [align=center]10[/align] | [align=center]*[/align] | [align=center]1[/align] | [align=left]-- At 12.05,12.10 every Monday &on 10th of every month[/align] |
[align=left]:[/align] |
5. Crontab 环境设置
Cron其实是在shell(/usr/bin/sh).后台引用用户程序的命令。
Cron默认的shell环境是:
HOME=user's-home-directory
LOGNAME=user's-login-id
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh
用户希望自己的配置文件在表或者脚本的入口直接执行。
6.禁用邮件默认的cronjobs在执行任务时会给用户发一封邮件。如果您不需要的话可以通过以下命令关闭。>/dev/null 2>&1
7. 生成日志文件保存cronjobs日志只需作如下设置就可以
30 18 * * * rm/home/someuser/tmp/* >/home/someuser/cronlogs/clean_tmp_dir.log“/home/someuser/cronlogs/clean_tmp_dir.log”为日志文件保存的绝对路径
【转自:http://blog.csdn.net/hj402555749/article/details/7754402】
相关文章推荐
- Linux生成core文件、core文件路径设置
- Linux系统查看版本信息
- linux各文件夹的作用
- linux配置play freamwork环境
- 配置centos 7 mysql
- 企业Linux系统管理员常用命令大全实例解析(1)
- linux下權限管理詳解
- 在redhat 中安装linux常用的命令
- 虚拟机安装CentOS
- unix K&R编码风格
- 虚拟机centos6.5 下 FastDFS 5.05 分布式存储集群安装配置
- Cobbler自动化批量部署CentOS6.5系统
- 盘点Linux十大版本
- Linux下多线程实例
- Linux下pipe通信实例
- linux wget 下载命令介绍
- Linux 引导过程内幕
- 误删 libc.so.6的解决方法(开机启动不了)
- ceph存储 Linux direct io使用
- linux下cat命令详解