ubuntu定时执行python脚本实例代码

作者:vien.tech 时间:2022-11-30 17:35:03 

原文链接:https://vien.tech/article/157

前言

本文将介绍ubuntu系统下如何定时执行shell脚本、python脚本,ubuntu系统有一个定时任务的管理器crontab,我们只需要编辑定时任务,然后重启定时任务服务就好了。

crontab

编辑定时任务


crontab -e

参数定义:

  • -u 指定用户, - -l 列出用户任务计划,

  • -r 删除用户任务,

  • -e 编辑用户任务

英文介绍:

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

中文解释:

格式

m h dom mon dow command

以上为缩写,这里提供全拼对照:

minute (m),  hour (h), day of month (dom), month (mon), day of week (dow)

含义如下:

  • m 每个小时的第几分钟执行该任务

  • h 每天的第几个小时执行该任务

  • dom 每月的第几天执行该任务

  • mon 每年的第几个月执行该任务

  • dow 每周的第几天执行该任务 - command 指定要执行的程序

分      小时    日      月       星期     命令
0-59   0-23   1-31   1-12     0-6     command

其他:

  • 其中星期中0表示周日。

  • * 代表任何时间,比如第一个分钟,用 * 就代表每一小时的每一分钟都执行

  • - 表示区间,比如1-3

  • , 如果区间不连续,可以用,例如1,3,6  编辑完成后wq 保存退出

重启服务


service cron restart

注意事项

注意,一定要用绝对路径。否则可能会执行失败。

比如,我们要执行


python bwh.py

那么你需要干的第一件事是


which python

以此来查看python命令的真正路径


root@ubuntu:~# which python
/root/.pyenv/shims/python

然后,查看bwh.py的全路径,在bwh.py所在文件夹下


pwd
/app/python/blog

然后路径便为


/app/python/blog/bwh.py

所以整条记录应该这样编辑


0 9 * * * /root/.pyenv/shims/python /app/python/blog/bwh.py > /tmp/new_blog_bwh.log

上面的记录是指每天9点整执行/root/.pyenv/shims/python /app/python/blog/bwh.py并将打印日志输出到/tmp/new_blog_bwh.log

总结

标签:ubuntu,定时,脚本
0
投稿

猜你喜欢

  • javascript动态添加单元格的脚本代码

    2023-09-02 05:21:26
  • Python实现队列的方法示例小结【数组,链表】

    2023-09-27 13:52:11
  • 一个滑动展示的小代码

    2011-07-01 12:58:05
  • python实现协同过滤推荐算法完整代码示例

    2023-10-11 00:29:05
  • 对django xadmin自定义菜单的实例详解

    2023-06-19 22:48:21
  • python ChainMap的使用和说明详解

    2022-03-03 08:22:30
  • Microsoft SQL Server数据库开发问题详解

    2009-10-23 14:16:00
  • 支持汉转拼和拼音分词的PHP中文工具类ChineseUtil

    2023-11-08 10:48:13
  • python正则表达式中匹配次数与贪心问题详解(+ ?*)

    2021-04-24 20:52:04
  • jQuery实现的简单分页示例

    2024-04-09 19:45:29
  • Python 格式化打印json数据方法(展开状态)

    2023-10-07 05:29:50
  • django form和field具体方法和属性说明

    2023-07-24 11:22:45
  • 学用代码片段

    2011-09-06 19:37:35
  • linux下如何备份还原mysql数据库

    2010-08-08 08:59:00
  • mysql 5.7.13 安装配置方法图文教程(win10)

    2024-01-14 06:51:48
  • SQL数据查询之DQL语言介绍

    2024-01-26 11:04:25
  • vant IndexBar实现的城市列表的示例代码

    2024-05-08 09:34:22
  • Python opencv图像基本操作学习之灰度图转换

    2023-02-17 09:04:43
  • DNS优化的原理和方法

    2012-04-26 16:43:56
  • Selenium定位浏览器弹窗方法实例总结

    2022-07-03 05:17:24
  • asp之家 网络编程 m.aspxhome.com