Linux学习与应用技巧

用crontab在Linux下执行定时任务

2018-08-12  本文已影响0人  m2fox

crontab是什么

crontab是Linux的一个配置定时任务的命令,使用它可以灵活地配置一些定时任务。

cron表达式

既然是执行定时任务,那就要指定在什么样的时间、以什么样的周期来执行某个任务,crontab使用的是一种称为cron表达式的语法来表示周期性时间的。

基本语法

cron表达式的基本语法格式如下:

* * * * * command

前面5个*号分别表示:分钟、小时、几号、月份、星期几,最后的command表示要执行的命令。前面5个*的每一项的取值范围如下表:

符号 * * * * *
含义 分钟 小时 几号 月份 星期几
取值范围 0~59 0~23 1~31 1~12 0~7

此外,上述5项还可以是这几种特殊的取值:*,-/,含义分别如下表:

符号 * , - /
含义 表示任意取值 用于隔开一组离散的取值序列 表示一个取值范围 表示时间间隔频率

这几种特殊符号还可以组合使用。

cron表达式举例

0 8 * * * python /tmp/test.py

注:需要注意的是,要保证/tmp/test.py脚本文件具有可执行权限。

30,45 8-12 * * * sh /tmp/task.sh >> /tmp/task.log 2>&1
* 18-23/2 1 * * sh /tmp/task.sh

实例:定时执行一个hello world任务

分为五步曲:

# coding:utf-8
print 'hello world!'
*/1 * * * * python /tmp/helloworld.py >> /tmp/helloworld.log 2>&1

查看crontab的更多用法

usage:  crontab [-u user] file
    crontab [ -u user ] [ -i ] { -e | -l | -r }
        (default operation is replace, per 1003.2)
    -e  (edit user's crontab)
    -l  (list user's crontab)
    -r  (delete user's crontab)
    -i  (prompt before deleting user's crontab)
上一篇下一篇

猜你喜欢

热点阅读