searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Crontab in linux for Python schedule job

2023-03-30 08:35:55
8
0

1、crontab

    Crontab的服务进程名为crond,英文意为周期任务。顾名思义,crontab在Linux主要用于周期定时任务管理。通常安装操作系统后,默认已启动crond服务。crontab可理解为cron_table,表示cron的任务列表。类似crontab的工具还有at和anacrontab,但具体使用场景不同。

    不同的系统,叫法可能不一样,在Ubuntu下,服务名叫cron。

2、操作crontab

安装(apt、yum等)好了以后

$ crontab -e
* * * * * date >> /tmp/date.txt

 - Edit the crontab file for the current user:
   crontab -e

 - Edit the crontab file for a specific user:
   sudo crontab -e -u {{user}}

 - Replace the current crontab with the contents of the given file:
   crontab {{path/to/file}}

 - View a list of existing cron jobs for current user:
   crontab -l

 - Remove all cron jobs for the current user:
   crontab -r

 - Sample job which runs at 10:00 every day (* means any value):
   0 10 * * * {{command_to_execute}}

 - Sample job which runs every minute on the 3rd of April:
   * * 3 Apr * {{command_to_execute}}

 - Sample job which runs a certain script at 02:30 every Friday:
   30 2 * * Fri {{/absolute/path/to/script.sh}}

3、重点说明

# 计划任务定义的例子:
# .---------------- 分 (0 - 59)
# |  .------------- 时 (0 - 23)
# |  |  .---------- 日 (1 - 31)
# |  |  |  .------- 月 (1 - 12)
# |  |  |  |  .---- 星期 (0 - 7) (星期日可为0或7)
# |  |  |  |  |
# *  *  *  *  * 执行的命令
* * * * * date >> /time.txt 2>&1

定时任务的结构如上,前面是定义定时,后面是命令。

命令写法,差之毫厘,谬之千里:

# 每天3点执行
0 3 * * * command
# 三点的每分钟都执行
* 3 * * * command

内容需要重定向输出到指定文件,否则容易造成无法获取执行日志的问题。形如:

 ls >> /tmp/ls.txt 2>&1

 

0条评论
0 / 1000
JackW
6文章数
0粉丝数
JackW
6 文章 | 0 粉丝
JackW
6文章数
0粉丝数
JackW
6 文章 | 0 粉丝
原创

Crontab in linux for Python schedule job

2023-03-30 08:35:55
8
0

1、crontab

    Crontab的服务进程名为crond,英文意为周期任务。顾名思义,crontab在Linux主要用于周期定时任务管理。通常安装操作系统后,默认已启动crond服务。crontab可理解为cron_table,表示cron的任务列表。类似crontab的工具还有at和anacrontab,但具体使用场景不同。

    不同的系统,叫法可能不一样,在Ubuntu下,服务名叫cron。

2、操作crontab

安装(apt、yum等)好了以后

$ crontab -e
* * * * * date >> /tmp/date.txt

 - Edit the crontab file for the current user:
   crontab -e

 - Edit the crontab file for a specific user:
   sudo crontab -e -u {{user}}

 - Replace the current crontab with the contents of the given file:
   crontab {{path/to/file}}

 - View a list of existing cron jobs for current user:
   crontab -l

 - Remove all cron jobs for the current user:
   crontab -r

 - Sample job which runs at 10:00 every day (* means any value):
   0 10 * * * {{command_to_execute}}

 - Sample job which runs every minute on the 3rd of April:
   * * 3 Apr * {{command_to_execute}}

 - Sample job which runs a certain script at 02:30 every Friday:
   30 2 * * Fri {{/absolute/path/to/script.sh}}

3、重点说明

# 计划任务定义的例子:
# .---------------- 分 (0 - 59)
# |  .------------- 时 (0 - 23)
# |  |  .---------- 日 (1 - 31)
# |  |  |  .------- 月 (1 - 12)
# |  |  |  |  .---- 星期 (0 - 7) (星期日可为0或7)
# |  |  |  |  |
# *  *  *  *  * 执行的命令
* * * * * date >> /time.txt 2>&1

定时任务的结构如上,前面是定义定时,后面是命令。

命令写法,差之毫厘,谬之千里:

# 每天3点执行
0 3 * * * command
# 三点的每分钟都执行
* 3 * * * command

内容需要重定向输出到指定文件,否则容易造成无法获取执行日志的问题。形如:

 ls >> /tmp/ls.txt 2>&1

 

文章来自个人专栏
JackW 的后端开发
6 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0