首页 > 电脑专区 > 电脑教程 >

如何在linux定制定时任务

来源:互联网 2023-02-20 23:46:22 453

Linux操作环境下,守护进程cron(crond)会周期性地执行某种任务或等待处理某些事件中的一个。但是很多时候,Linux用户需要定时执行一些任务,或者需要定时执行一些批量任务。1i5办公区 - 实用经验教程分享!

为了让Linux用户也可以设置计划任务,linux系统提供了用户控制计划任务的指令:crontab 。下面我们就来学习一下如何在Linux操作系统下设置定时任务。1i5办公区 - 实用经验教程分享!

工具/原料

  • Linux 指令 crontab
  • Python

方法/步骤

  • 1

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    linux上的周期性认为是由corn这个守护进程来完成的,cron启动后会读取配置文件。crontab命令是cron table的简写,它是cron的配置文件。因此我们首先用corn 创建一个配置文件,再将定时任务写进配置文件即可。1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    在Ubuntu14.04.5 Server版本中,查看/etc/crontab,内容如下图所示:1i5办公区 - 实用经验教程分享!

    如何在linux定制定时任务1i5办公区 - 实用经验教程分享!

  • 1本页面非法爬取自百度经验
  • 2

    首先,用Python写一个任务。例如,在电脑终端输出“Hello World!”1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    将以下面一行代码保存,并将文件命名为:test.py1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    print “Hello World!”1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    在终端运行文件结果如图所示:1i5办公区 - 实用经验教程分享!

    如何在linux定制定时任务1i5办公区 - 实用经验教程分享!

  • 3

    其次, 用crontab指令来创建配置文件。在电脑终端输入如下指令:1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    crontab filename //将文件安装为用户crontab文件,覆盖原来的crontab文件1i5办公区 - 实用经验教程分享!

    crontab -e // 打开编辑用户crontab文件,退出时注意保存文件1i5办公区 - 实用经验教程分享!

    如何在linux定制定时任务1i5办公区 - 实用经验教程分享!

  • 4

    接着,编辑crontab文件。crontab文件的格式为:1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    分钟 小时 天 月 星期几 用户 指令1i5办公区 - 实用经验教程分享!

    m h dom mon dow user command1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    各个字段的范围是:1i5办公区 - 实用经验教程分享!

    m:0~59, h: 0~23, dom: 1~31, mon: 1~12, dow: 0~7 (0或7代表星期日)1i5办公区 - 实用经验教程分享!

    command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    其中,在crontab文件的各个字段中,还可以使用以下特殊字符:

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    星号(*):表示所有可能的值,例如dom字段如果是星号,则表示在满足其它字段的制约条件后每天都执行该命令操作。1i5办公区 - 实用经验教程分享!

    逗号(,):表示一个列表范围,例如,“,3,8,9”1i5办公区 - 实用经验教程分享!

    中杠(-):表示一个整数范围,例如“3-5”表示“3,4,5”1i5办公区 - 实用经验教程分享!

    正斜线(/):表示时间的间隔频率,例如mon字段“1-12/2” 或 “*/2”表示每两个月执行一次。1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    crontab的文件内容如下图所示:1i5办公区 - 实用经验教程分享!

    如何在linux定制定时任务1i5办公区 - 实用经验教程分享!

  • 5

    编辑完crontab文件之后,若想要查看,可以在电脑终端输入如下指令:1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    crontab -l // 电脑终端会列出用户crontab的文件内容1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    电脑终端显示某个crontab文件内容,如下图所示:1i5办公区 - 实用经验教程分享!

    如何在linux定制定时任务1i5办公区 - 实用经验教程分享!

  • 6

    最后,如果想要删除不用的用户crontab文件。可以在电脑终端输入如下指令:1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    crontab -r // 删除用户crontab的文件内容1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    1i5办公区 - 实用经验教程分享!

    使用此指令后,linux里就没有用户crontab文件了。此时如果再输入1i5办公区 - 实用经验教程分享!

    crontab -l1i5办公区 - 实用经验教程分享!

    电脑终端将显示: no crontab for username, 如下图所示1i5办公区 - 实用经验教程分享!

    如何在linux定制定时任务1i5办公区 - 实用经验教程分享!

  • 注意事项

    • 在 /var/spool/cron目录中的用户调度任务里,没有user一项,因为文件名已经代表了user。
    • 使用crontab命令时, 一定 要小心。因为crontab -r的r和e, 在键盘上相邻,很容易敲错, 而且没有提示, 难以恢复。

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!1i5办公区 - 实用经验教程分享!


    标签: LINUX操作系统电脑技术编程制定

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码