如何设置每5分钟访问一个网站的cronjob

时间:2011-11-22 10:39:22

标签: heroku cron crontab

我正在ep.io和heroku上托管一个网站。他们的工作方式是,当您的网站在一段时间内没有加入时,服务器“关闭”只会在有人访问您的域时重新启动。我注意到这通常需要15秒才能加载页面。

为了解决这个问题,我想在我拥有的另一个托管上创建一个cron作业,例如每隔5分钟尝试访问我的ep.io/heroku网页。然而,我不知道这是如何工作的,因为我从未使用过cronjobs。

我想我应该在crontab上添加这样的内容:

*/5 * * * * /usr/bin/curl --silent http://myapp.heroku.com

这是一个有效的crontab行吗?如果不是,应该怎么做?

答案:

好的,经过一番搜索我发现了一个解决方案,我会在这里发布,以便其他人可以受益。

创建一个加载URL的python脚本(例如acces_page.py):

#!/usr/bin/env python

import urllib2

if __name__ == '__main__':
    f = urllib2.urlopen('http://myapp.heroku.com')
    print f.read(10)

然后将它上传到你的第二个,而不是heroku,服务器(/ webapps / myapp / for me),并将以下行添加到你的crontab(crontab -e):

*/5 * * * * ~/webapps/myapp/access_page.py > $HOME/cron.log 2>&1

这将每五分钟运行一次脚本,访问python脚本中定义的网页。要测试它是否有效,它将在$ HOME目录的cron.log文件中输出网页的前10个字符。

如果它显示拒绝访问,请使用chmod +x access_page.py chmod你的.py文件。

1 个答案:

答案 0 :(得分:0)

在您的网址页面添加一些内容。  在您的示例http://myapp.heroku.com/index.php文件中。

写入DB或文件会更好