【问题标题】:Cron job not working all the way. and Python is only half working on my scriptCron 作业一直无法正常工作。而 Python 只在我的脚本上工作了一半
【发布时间】:2015-10-30 04:55:36
【问题描述】:

我已经花了好几个小时试图让这个 twitter 机器人在自动驾驶仪上工作。

这是交易。首先,我使用 Raspberry Pi 作为 24/7 运行我的机器人的平台。

Pi 设置为通过 ssh 工作。

我已经执行了这些命令

sudo pip install TwitterFollowBot

sudo pip install twitter

python 2.7 已经安装。 我继续为我的项目设置我的 dir 文件夹

mkdir bot

cd bot 
mkdir newsbot
cd newsbot

我在 nano newsbot.py 下创建了我的机器人,这是一个示例。

from TwitterFollowBot import TwitterBot

my_bot = TwitterBot()

my_other_bot = TwitterBot("config.txt")

my_bot.sync_follows()
my_bot.auto_fav("news", count=1)

出于测试目的,我只使用了一个命令。

当我输入时一切正常

python newsbot.py

没有问题

但是问题来了... 它仅在我不在目录之外时才有效。例如 这行得通 蟒蛇新闻机器人.py 我把它变成了一个可执行文件,因为我要为这个 python 脚本分配一个 cron 作业。 但这给了我一个错误

/usr/bin/python /home/pi/bot/newsbot/newsbot.py

如果我在目录之外,这是错误消息。例如,如果我是 cd ~ 然后运行这一行

File "/home/pi/bot/newsbot/newsbot.py", line 6, in <module>
    my_bot = TwitterBot()
  File "/usr/local/lib/python2.7/dist-packages/TwitterFollowBot-v2.0.1-py2.7.egg/TwitterFollowBot/__init__.py", line 42, in __init__
    self.bot_setup(config_file)
  File "/usr/local/lib/python2.7/dist-packages/TwitterFollowBot-v2.0.1-py2.7.egg/TwitterFollowBot/__init__.py", line 78, in bot_setup
    with open(config_file, "r") as in_file:
IOError: [Errno 2] No such file or directory: 'config.txt'

所以我知道 */1 * * * * pi /usr/bin/python /home/pi/bot/newsbot/newsbot.py 行不通。

所以我想了一个变通办法。我会创建一个 shell 脚本来执行 python 脚本

#!/bin/sh
python newsbot.py >> cron.txt

所以当一个 cron 作业工作时,它只会创建一个空白的 cron.txt 文件......

我现在不知道自己在做什么。我确定问题出在 TwitterFollowBot 中的某些地方没有正确安装......任何帮助或想法......

【问题讨论】:

    标签: python linux shell python-2.7 cron


    【解决方案1】:

    你的脚本在说

    my_other_bot = TwitterBot("config.txt")
    

    但是 crontab 不知道这个文件在哪里,因为它的环境非常有限。它可能会在/ 中寻找它。

    所以你需要使用绝对路径,以便它知道在哪里找到文件:

    my_other_bot = TwitterBot("/path/to/config.txt")
    

    有关典型问题的更多信息,请参阅Tips for debugging cron issues from crontab wiki

    【讨论】:

    • 很高兴读到这一点,@YouBobBrutegeek !由于您是新来的,如果您的问题已经解决,请不要忘记将答案标记为已接受。您可以单击答案旁边的复选标记将其从空心切换为绿色。如有任何问题,请参阅Help Center > Asking
    猜你喜欢
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 2011-12-14
    • 1970-01-01
    相关资源
    最近更新 更多