我想知道如何在每次执行时准确地看到cron作业正在做什么。日志文件位于哪里?或者我可以把输出发送到我的邮箱吗?我已经设置了电子邮件地址,当cron作业运行时发送日志,但我还没有收到任何东西。

通过谷歌搜索可以找到与cron功能相同的软件,但没有内置在Windows中。

我使用的是Windows XP Professional,但任何版本的Windows建议都可能对某些人有所帮助。

是否也有一种方法以编程方式或通过命令行调用此功能(基于答案称为任务调度器)?

我有一个python脚本,将检查一个队列,并在每个项目上执行一个动作:

# checkqueue.py
while True:
  check_queue()
  do_something()

我如何编写一个bash脚本来检查它是否正在运行,如果没有,就启动它。大致如下伪代码(或者它应该做一些类似ps | grep?):

# keepalivescript.sh
if processidfile exists:
  if processid is running:
     exit, all ok

run checkqueue.py
write processid to processidfile

我将从crontab中调用它:

# crontab
*/5 * * * * /path/to/keepalivescript.sh

在Rails环境中运行计划任务的最佳方法是什么?脚本/跑步吗?耙?我想每隔几分钟运行一次任务。

我正在尝试从cron运行Django管理命令。我使用virtualenv保持我的项目沙盒。

我在这里和其他地方看到了从virtualenv中运行管理命令的示例,例如:

0 3 * * * source /home/user/project/env/bin/activate && /home/user/project/manage.py command arg

然而,尽管syslog显示了任务应该在何时启动的条目,但该任务从未实际运行(脚本的日志文件为空)。如果我从shell中手动运行这一行,它将按预期工作。

我目前可以通过cron运行命令的唯一方法是将命令分解并将它们放在一个哑bash包装脚本中:

#!/bin/sh
source /home/user/project/env/bin/activate
cd /home/user/project/
./manage.py command arg

编辑:

Ars提出了一个命令的工作组合:

0 3 * * * cd /home/user/project && /home/user/project/env/bin/python /home/user/project/manage.py command arg

至少在我的例子中,调用virtualenv的激活脚本没有任何作用。这招管用,所以节目继续。

*/20 * * * *

确保它每20分钟运行一次,我想每20分钟运行一个任务,从5点开始,这在Cron上可行吗?会是:

5/20 * * * *?

我在Jenkins中添加了一个新工作,我想定期安排。

从配置作业,我正在检查“定期构建”复选框,并在Schedule文本字段中添加了表达式:

15 13 * * *

但是它没有在预定的时间运行。

这是安排工作的正确程序吗?

该作业应该在4:20 AM运行,但它没有运行。

如何配置一个cron作业在每天晚上2:30运行?我知道如何让它在2点运行,但不是2:30。

我有一个cron需要每30秒运行一次。

以下是我所拥有的:

*/30 * * * * /bin/bash -l -c 'cd /srv/last_song/releases/20120308133159 && script/rails runner -e production '\''Song.insert_latest'\'''

它能运行,但它是每30分钟或30秒运行一次吗?

此外,我一直在阅读,如果我经常运行cron,它可能不是最好的工具。有没有其他更好的工具,我可以使用或安装在Ubuntu 11.04上,这将是一个更好的选择?有没有办法修复上面的cron?

我正在寻找Python中的一个库,它将提供at和cron之类的功能。

我非常希望有一个纯Python的解决方案,而不是依赖于安装在盒子上的工具;这样我在没有cron的机器上运行。

对于那些不熟悉cron的人:你可以根据一个表达式来安排任务,比如:

 0 2 * * 7 /usr/bin/run-backup # run the backups at 0200 on Every Sunday
 0 9-17/2 * * 1-5 /usr/bin/purge-temps # run the purge temps command, every 2 hours between 9am and 5pm on Mondays to Fridays.

cron时间表达式语法不那么重要,但我希望具有这种灵活性。

如果没有什么东西可以为我开箱即用,任何关于构建模块的建议都将被感激地接受。

编辑 我对启动进程不感兴趣,只对同样用Python编写的“作业”——Python函数感兴趣。我认为这将是一个不同的线程,但不是在不同的进程中。

为此,我正在寻找cron time表达式的表达性,但在Python中。

Cron已经存在多年了,但我正在努力尽可能地实现可移植性。我不能指望它的存在。