Crontab是Unix和Linux操作系统上用于定时执行任务的工具。它允许用户创建和管理计划任务,自动运行命令或脚本。Crontab文件包含计划任务条目,定义了任务的执行时间和要运行的命令或脚本。任务可以按照不同的时间单位进行安排。
以下是Crontab命令的一些常见用法和选项:
-
crontab -e:打开当前用户的Crontab配置文件进行编辑。如果没有配置文件,则会创建一个新的配置文件。编辑器会打开,允许用户添加或修改计划任务条目。
-
crontab -l:列出当前用户的Crontab配置文件中的所有计划任务条目。这个命令会将配置文件的内容输出到终端。
-
crontab -r:删除当前用户的Crontab配置文件,即删除所有计划任务条目。
-
crontab -u <username> -e:以指定用户的身份打开Crontab配置文件进行编辑。这个命令需要管理员权限。
-
crontab -u <username> -l:列出指定用户的Crontab配置文件中的所有计划任务条目。
-
crontab -u <username> -r:删除指定用户的Crontab配置文件,即删除所有计划任务条目。
-
crontab -i:在删除Crontab配置文件时进行确认提示。这个选项会在删除前提示用户确认操作。
-
crontab -l > <filename>:将当前用户的Crontab配置文件中的所有计划任务条目导出到指定的文件中。
-
crontab <filename>:将指定文件中的计划任务条目导入到当前用户的Crontab配置文件中。
-
crontab -e -u <username>:以指定用户的身份打开Crontab配置文件进行编辑。这个命令需要管理员权限。
下面是一些常见的Crontab命令的实例代码:
-
添加一个每天凌晨3点执行的命令:
crontab -e
在编辑器中添加以下行:
0 3 * * * /path/to/command
-
第一个字段 “0” 表示分钟,表示任务在每小时的第0分钟执行。
-
第二个字段 “3” 表示小时,表示任务在每天的第3小时执行,即凌晨3点。
-
第三个字段 “*” 表示日,表示任务在每个月的任意一天都执行。
-
第四个字段 “*” 表示月,表示任务在每个月都执行。
-
第五个字段 “*” 表示星期,表示任务在每周的任意一天都执行。
因此,"0 3 * * *" 表示这个任务将在每天凌晨3点执行。
2.添加一个每小时执行一次的命令:
crontab -e
在编辑器中添加以下行:
0 * * * * /path/to/command
-
第一个字段 “0” 表示分钟,表示任务在每小时的第0分钟执行。
-
第二个字段 “*” 表示小时,表示任务在每个小时都执行。
-
第三个字段 “*” 表示日,表示任务在每个月的任意一天都执行。
-
第四个字段 “*” 表示月,表示任务在每个月都执行。
-
第五个字段 “*” 表示星期,表示任务在每周的任意一天都执行。
因此,"0 * * * *" 表示这个任务将在每小时的第0分钟执行,即整点执行。
-
添加一个每周一早上8点执行的命令:
crontab -e
在编辑器中添加以下行:
0 8 * * 1 /path/to/command
在这个命令中,"0 8 * * 1" 表示:
-
第一个字段 “0” 表示分钟,表示任务在每小时的第0分钟执行。
-
第二个字段 “8” 表示小时,表示任务在每天的第8小时执行,即早上8点。
-
第三个字段 “*” 表示日,表示任务在每个月的任意一天都执行。
-
第四个字段 “*” 表示月,表示任务在每个月都执行。
-
第五个字段 “1” 表示星期,表示任务在每周的星期一执行。
因此,"0 8 * * 1" 表示这个任务将在每周一的早上8点执行。
-
列出当前用户的Crontab配置文件中的所有计划任务条目:
crontab -l
-
删除当前用户的Crontab配置文件,即删除所有计划任务条目:
crontab -r
-
以指定用户的身份打开Crontab配置文件进行编辑:
crontab -e -u <username>
原文始发于微信公众号(蓝胖子之家):Linux 服务器运维 定时任务 crontab详解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论