程序员的知识教程库

网站首页 > 教程分享 正文

Linux系统下使用crontab命令定时执行任务

henian88 2025-03-29 17:46:13 教程分享 15 ℃ 0 评论

基本命令

  • [ crontab -e ] - 打开vi编译器,输入要执行的命令
  • [ crontab -l ] - 查看所有已执行的任务
  • [ crontab -r ] - 删除所有执行任务

查询任务执行日志

[ cat /var/spool/mail/{enter your username} ]

crontab -e 用法

minute hour day month week command 顺序:分 时 日 月 周

其中:

  • [ minute ] - 表示分钟,可以是从0到59之间的任何整数。
  • [ hour ] - 表示小时,可以是从0到23之间的任何整数。
  • [ day ] - 表示日期,可以是从1到31之间的任何整数。
  • [ month ] - 表示月份,可以是从1到12之间的任何整数。
  • [ week ] - 表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
  • [ command ] - 要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

在以上各个字段中,还可以使用以下特殊字符:

  • [ 星号(*) ] - 代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
  • [ 逗号(,) ] - 可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
  • [ 中杠(-) ] - 可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
  • [ 正斜线(/) ] - 可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

使用示例

1.打开Terminal窗口输入crontab -e进入vi编辑框

2.写入执行命令

  • 每分钟执行一次command

* * * * * command

  • 每小时的第3和第15分钟执行

3,15 * * * * command

  • 在上午的8点到11点的第3和第15分钟执行

3,15 8-11 * * * command

  • 在每天的23点30分执行备份文件脚本,并同时输出执行错误日志到log文件

30 23 * * * python /home/*/*/test.py >> /home/*/*/test.log 2>&1

  • 每个星期一的上午8点15分执行

15 8 * * 1 command

3.写入完毕后退出保存即可

4.输入crontab -l查看已执行的任务,确认是否执行成功

执行python脚本例子:

每周一的早上8点执行(执行python的命令必须是绝对路径,包括import的包和路径使用都要用绝对路径)

0 8 * * 1 /usr/local/bin/python /home/evanliu/Desktop/test.py

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表