概述

  • 在Linux用crontab定时运行py代码,用的是Anaconda3,
  • crontab -e使用* * * * * python ~/a.py* * * * * python3 ~/a.py都出问题
  • 因为crontab环境不同,所以要指定全路径的Python
    改成~/anaconda3/bin/python ~/a.py后成功

补充crontab基础知识

环境

crontab环境配置cat /etc/crontab

root用户的PATH(显然和crontab的不一样)

非root用户的PATH(显然和crontab的不一样)

极简用例

  1. 添加或删除定时任务(edit)
crontab -e
  1. 以vim模式写入并保存
# 每分钟跑一次
* * * * * echo `pwd` > a.txt
  1. 查看定时任务列表(list)
crontab -l
  1. 检测
cat ~/a.txt

crontab+Anaconda示例

  1. 创建Python脚本
vim ~/a.py
import time, sys
with open(__file__.replace('py', 'txt'), 'w', encoding='utf-8')as f:
    f.write(time.strftime('%Y-%m-%d %H:%M:%S\n'))  # 当前时间
    f.write(sys.version)  # Python版本
  1. 添加定时任务
crontab -e
# 每分钟跑一次Python脚本
* * * * * ~/anaconda3/bin/python ~/a.py
  1. 检测
cat ~/a.txt

其它

  • 首次运行crontab -e可能出现select-editor,可选vim.basic
  • 通常任务频度是每天0点跑一次,写法0 0 * * *
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐