cron——执行计划任务。在一定的时间执行指定的任务。
很显然,它是系统的一个守护进程,不过默认一般是没有开启的。需使用service crond start开启。
但不是直接使用该命令来指定计划任务,而使用crontab来编写crontab文件(每个用户均有一个crontab文件)来指明需要执行的计划任务。
crontab中的计划任务格式一般为:
<分><时><日><月><星期><task>
分:0-59
时:0-23
日:1-31
月:1-12
星期:1-7
task:一般是对应的其他命令
crontab命令格式如下
crontab [-u user] -option
option有以下:
-l 列出所有的计划任务,格式为
-e 编写crontab文件(每个用户拥有一个单独的crontab文件)
-r 删除crontab文件
使用-e 对crontab文件进行编辑的时候,与vi的操作是一致的。不过当编辑结束以后,crontab将对编写的计划任务进行格式检查,如果格式不对将会报错。所以还是不要直接使用vi去编辑crontab文件,不过一般情况下也不允许直接编辑crontab文件。详见使用手册的提示:Each user can have their own crontab, and though these are files in /var/spool/ , they are not intended to be edited directly.(大意为:每个用户都有自己的crontab,虽然这些文件在/var/spool目录下,但是不能直接对它们进行编辑)
一个例子:
[root@localhost sharedfolder]# crontab -e
1-59 * * * * /bin/echo 'date' >> /home/sharedfolder/tem
(可以使用shell的注释符"#"编写对应的注释来对命令进行说明)
还有需要补充的是:
关于执行计划任务的权限问题。
如果系统中有cron.allow文件,则用户名在其中的用户所编写的crontab中的任务可以被执行,否则不行;
而如果系统中有cron.deny文件,与上面的意思相反,大家应该都懂得。
如果两者都没有的话,那就只有root用户的计划任务可以被执行。
不过,这两个文件的作用的优先级为cron.allow>cron.deny