Linux计划任务Crontab实例教程
Linux计划任务Crontab实例教程
一、Crontab简介
Crontab是一个用来设置周期性被执行的任务的工具,它可以使用户设置某个时间段内指定的任务自动执行。Crontab的配置文件是/etc/crontab,用户的个人Crontab文件是/var/spool/cron/用户名,这些文件的格式是相似的,都是由行组成,每行代表一个任务,每行的内容分为6个部分,格式如下:
分 时 日 月 周 命令
其中,第1~5列分别表示分、时、日、月、周,第6列表示命令,"*"表示所有可能的值,因此,"*"可以用在所有5个字段中。
二、Crontab的使用
1. 查看Crontab的配置
命令格式:crontab -l
命令功能:查看当前用户的Crontab配置
实例:
[root@localhost ~]# crontab -l
no crontab for root
上面的输出表明当前用户root并没有设置Crontab任务。
2. 编辑Crontab的配置
命令格式:crontab [选项] 文件
命令功能:使用指定的文件来替换当前用户的Crontab配置
选项:
-u:指定要替换Crontab配置的用户,默认为当前用户
-e:编辑当前用户的Crontab配置
实例:
[root@localhost ~]# crontab -e
no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.tiny
Choose 1-3 [2]: 2
此时会打开一个编辑器,我们可以在其中编辑Crontab任务。
3. 删除Crontab的配置
命令格式:crontab -r [选项]
命令功能:删除当前用户的Crontab配置
选项:
-u:指定要删除Crontab配置的用户,默认为当前用户
实例:
[root@localhost ~]# crontab -r
crontab: removing entry for user root
上面的命令会删除当前用户root的Crontab配置。
4. 查看Crontab的日志
命令格式:grep CRON /var/log/syslog
命令功能:查看Crontab任务执行的日志
实例:
[root@localhost ~]# grep CRON /var/log/syslog
May 25 23:01:01 localhost CROND[27146]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
上面的输出表明,在每小时的第1分执行了一次/etc/cron.hourly目录下的所有脚本。
5. Crontab的限制
Crontab的配置文件是/etc/crontab,它的格式和用户的个人Crontab文件是/var/spool/cron/用户名的格式相似,都是由行组成,每行代表一个任务,每行的内容分为6个部分,格式如下:
分 时 日 月 周 命令
其中,第1~5列分别表示分、时、日、月、周,第6列表示命令,"*"表示所有可能的值,因此,"*"可以用在所有5个字段中。
Crontab的限制主要有3个方面:
(1)时间的限制
Crontab的时间只能是分钟、小时、日、月、周的组合,不支持年的概念。
(2)命令的限制
Crontab执行的命令只能是系统内置的命令,不能是自定义的命令。
(3)用户的限制
Crontab只能被特定的用户使用,不能被任何用户使用。
相关文章