相关疑难解决方法(0)

Cron和virtualenv

我试图从cron运行Django管理命令.我正在使用virtualenv来保持我的项目沙箱.

我在这里和其他地方看过一些示例,它们显示了virtualenv中的运行管理命令:

0 3 * * * source /home/user/project/env/bin/activate && /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)

但是,即使syslog在任务应该启动时显示一个条目,该任务也从未实际运行(脚本的日志文件为空).如果我从shell手动运行该行,它将按预期工作.

我目前可以通过cron运行命令的唯一方法是打破命令并将它们放入一个愚蠢的bash包装器脚本中:

#!/bin/sh
source /home/user/project/env/bin/activate
cd /home/user/project/
./manage.py command arg
Run Code Online (Sandbox Code Playgroud)

编辑:

ars提出了一个有效的命令组合:

0 3 * * * cd /home/user/project && /home/user/project/env/bin/python /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)

至少在我的情况下,调用virtualenv的激活脚本什么也没做.这个有用,等等.

python django cron virtualenv

210
推荐指数
9
解决办法
9万
查看次数

CronJob没有运行

我通过输入crontab -e在ubuntu环境中为root用户设置了cronjob

  34 11 * * * sh /srv/www/live/CronJobs/daily.sh
  0 08 * * 2 sh /srv/www/live/CronJobs/weekly.sh
  0 08 1 * * sh /srv/www/live/CronJobs/monthly.sh
Run Code Online (Sandbox Code Playgroud)

但是cronjon不会跑.我已经尝试检查cronjob是否正在运行

pgrep cron

并提供进程ID 3033. shell脚本调用python文件,用于发送电子邮件.运行python文件是可以的.它没有错误,但是cron没有运行.daily.sh文件中包含以下代码.

python /srv/www/live/CronJobs/daily.py
python /srv/www/live/CronJobs/notification_email.py
python /srv/www/live/CronJobs/log_kpi.py
Run Code Online (Sandbox Code Playgroud)

linux crontab ubuntu-12.04

31
推荐指数
4
解决办法
8万
查看次数

python crontab和路径

我有一个兄弟姐妹的Python驱动程序和库脚本:

/home/mydir/pythonProjs/
Run Code Online (Sandbox Code Playgroud)
  • driver.py

  • lib.py

driver.py我有线:

from lib import method1

从Linux上的命令行获得以下成功:

python /home/mydir/pythonProjs/driver.py
Run Code Online (Sandbox Code Playgroud)

但是当我在crontab中尝试以下内容时:

10 1 * * * export PYTHONPATH=~/mydir/pythonProjs; python /home/mydir/pythonProjs/driver.py

我收到错误:

ImportError: No module named lib.method1
Run Code Online (Sandbox Code Playgroud)

我还尝试将crontab命令中的路径设置更改为完全限定的路径/home/mydir/pythonProjs,省略'export',并且还尝试编写.sh文件(使用必要的#!bin/bash ...)

我有一个主要问题和一个后续问题:主要:解决问题的最佳方法是什么?跟进:cron的路径访问背后的理念是什么?

在我投票过快之前,我会提到我已阅读但未成功(或正确解析)以下内容: - 我在哪里可以设置crontab将使用的环境变量? - 运行Python的Crontab问题 - http://pythonadventures.wordpress.com/2012/03/31/calling-a-python-script-from-crontab/

python cron environment-variables python-2.7

4
推荐指数
1
解决办法
6688
查看次数

使用notify-send的python脚本的Cron调度程序

我在使用这三种技术时遇到了一些困难.

Cron入门:

* * * * * /usr/bin/python /path/to/python/email/program.py
Run Code Online (Sandbox Code Playgroud)

Python程序:

  1 #!/usr/bin/python
  2 
  3 import imaplib
  4 import os
  5 import sys
  6 import pynotify
  7 
  8 if not pynotify.init('Emails'):
  9     sys.exit(1)
 10 
 11 with open('/path/to/python/email/count.tmp', 'r') as file:
 12     data = int(file.read().strip())
 13 client = imaplib.IMAP4_SSL('mail.sever.com', '993')
 14 client.login('user@server.com', 'password')
 15 client.select()
 16 
 17 unseen = client.search(None, 'UnSeen')[1][0].split()
 18 
 19 if unseen[0] == '':
 20     pass
 21 else:
 22     if len(unseen) != data:
 23         n = pynotify.Notification(str(len(unseen) - data) …
Run Code Online (Sandbox Code Playgroud)

python cron

1
推荐指数
1
解决办法
1209
查看次数