Linux计划任务Crontab实例教程

2023-04-14 08:59:00 linux 计划 实例教程

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只能被特定的用户使用,不能被任何用户使用。

相关文章