美文网首页
[RaspberryPi] 计划任务 - Cron

[RaspberryPi] 计划任务 - Cron

作者: Cocoonshu | 来源:发表于2019-03-01 00:50 被阅读0次

Cron是Unix操作系统上用于配置计划任务的工具,它用于执行一些周期性的命令或者脚本。从每天半夜备份用户的Home目录到每小时记录一次CPU信息都可以用它来执行。

crontab(cron table)命令可以用来为每个用户编辑计划中或已完成的计划任务列表。每个用户都会一个独立的计划任务列表,包括root用户。

Cron GUI

gnome-scheduleCron的一个图形化工具。你可以这样安装:

sudo apt-get install gnome-schedule

然后从主菜单的计划任务中启动。

编辑crontab

用下面的命令来编辑crontab

crontab -e

选择编辑器

如果你是第一次使用crontab,它会让你选择一个编辑器来编辑任务列表,如下所示:

no crontab for Cocoonshu - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /usr/bin/code

Choose 1-4 [1]: 

如果你没有什么偏好的文本编辑器,则默认推荐nano

添加一个计划任务

一个crontab计划任务有6个部分组成:
分、时、日、月、星期、要执行的命令。
具体的格式如下:

# mim hour dom dow cmd
   ┬   ┬    ┬   ┬   ┬ 
   │   │    │   │   │
   │   │    │   │   └─ command: 要执行的命令
   │   │    │   └───── day of week: 配置要执行命令的星期
   │   │    └───────── day of month: 配置要执行命令的月份
   │   └────────────── hour: 配置要执行命令的小时
   └────────────────── minute: 配置要执行命令的分钟
  • dow的取值为0,1,2,3,4,5,6,分别是周日、周一、周二、周三、周四、周五、周六
  • dom的取值为1~12,表示每年的1~12月
  • hour的取值为0~23,表示每天的0点~23点
  • min的取值为0~59,表示每小时的0分~59分
  • 每个时间配置表达式可以有一下几种组合配置方式:
    • "-": 为从某个时候到某个时候要执行“cmd”。如dow配置为1-3,则表示从周一到周三要执行“cmd”任务
    • "*": 为“每个”时间单位都要执行。如过m配置为*,则每分钟都要执行一次“cmd”;如果m配置为*/n,则每隔n分钟要执行一次“cmd”任务
    • "/": 为每隔多少时间执行一次。如dom配置为*/3,则表示每隔3个月就要执行一次“cmd”任务;如果dom配置为\5-10/3,则表示从5月到10月之间,每隔3个月执行一次“cmd”任务

举例说明:

0 6-12/3 * 12 * /usr/bin/backup

表示在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup

查看计划任务

使用下面的命令来查看你当前的计划任务:

cron -l

在重启时执行任务

如果你想要在树莓派每次启动是执行一个命令,则使用@reboot来替换上面提到的时间表达式。比如说:

@reboot python /home/pi/play_audio.py

则可以在计划任务中计划一个启动树莓派时执行play_audio.py python脚本来播放音频的任务。

非阻塞任务

计划任务都是阻塞执行的,例如上面所述计划一个@reboot任务时,树莓派在启动时会等待play_audio.py脚本执行完毕后再继续执行接下来的开机流程。如果你不希望计划任务阻塞现有的流程,可以在cmd后添加一个空格 + &,如:

@reboot python /home/pi/play_audio.py &

相关文章

  • [RaspberryPi] 计划任务 - Cron

    Cron是Unix操作系统上用于配置计划任务的工具,它用于执行一些周期性的命令或者脚本。从每天半夜备份用户的Hom...

  • linux的计划任务 - cron

    查看cron是否启动 创建计划任务 命令格式如下: 创建方式 查看计划任务 查看cron是否已启动 查看执行结果 ...

  • robfig/cron

    cron Linux中使用内置cron计划任务服务,按照约定的时间定时执行特定的任务(job)。cron服务启动后...

  • linux 系统计划任务cron学习慕课笔记

    linux 系统计划任务cron: 1:检查cron服务 -检查Crontab工具是否安装: -检查crond服务...

  • crontab的使用方法以及误区

    cron服务提供crontab命令来设定cron服务的,类似于windows的计划任务,它的设定方式如下 cron...

  • puppet自动化之资源定义大收尾

    exec命令管控资源 cron 计划任务资源定义

  • 20.Linux中的计划任务

    Linux中的计划任务At单次执行计划任务cron 计划任务的使用计划任务:在某个时段自动执行某个任务。 Linu...

  • Linux如何使用crontab命令

    计划任务 定时执行 crontab -l 查看当前计划任务tail -n100 /var/log/cron 查看计...

  • linux之计划任务

    实现Linux定时任务有:cron、anacron、at等,这里主要介绍cron服务。 那计划任务指的是什么呢? ...

  • ubuntu下的定时器编写

    ubuntu下的定时器编写 一、cron简介 在Linux系统中,计划任务一般是由cron承担,我们可以把cron...

网友评论

      本文标题:[RaspberryPi] 计划任务 - Cron

      本文链接:https://www.haomeiwen.com/subject/oaaluqtx.html