使用Cron打开并访问URL

时间:2014-11-24 08:13:54

标签: cron

我一直在制作一个脚本,从/etc/cron.daily开始运行,每天早上5点运行,脚本可以正常运行,但是在我设置了所有脚本之后它似乎无法运行正确的执行权限。

我的脚本正在使用XDG-OPEN在网络浏览器中打开网站,但即使在设置执行权限之后,即; chmod +x它并不像它想象的那样运行。因为在我自己的crontab中 - >> crontab -e我已将我的cron作业安排在每天凌晨5:00运行,并链接到/etc/cron.daily内的脚本

这是我使用的脚本,因此请清楚了解它是如何设置的;

#!/bin/sh

LOG=/var/log/website_open.log
DATE=`date +'%a, %e %b %T %p'`

echo "*** Website opened on  [ $DATE ]***" >> $LOG
echo " " >> $LOG

xdg-open http://example.com | grep -v "Created new window in existing browser session." >> $LOG

当我检查日志时,它表示它在哪个日期执行,但它没有按照它的意图执行。所以日志会说这个

*** Website opened on  [ Mon, 24 Nov 01:04:41 AM ] ***

但它并没有真正正确地执行它。我确实run-parts -v检查它是否正常工作,确实如此,因为它确实正确执行并在运行之后打开了网站,但问题是Cron没有像我测试时那样运行它由于某种原因与run-parts -v。它被忽略了,似乎不是一个权限问题,因为如果它确实存在,它会显示在日志中,如" Google Chrome可以不能以Root" 运行,因为那是我的默认浏览器。

我不相信我的脚本有任何问题,因为xdg-open http://example.com在测试时会按照脚本的预期运行,而在我的crontab中运行时crontab -e我将它设置为这样;

0 0 5 1/1 * ? *  /etc/cron.daily/example_com

但仍然没有按原样执行。我已经考虑过是否应该从我的主目录执行脚本并将其与crontab一起使用,但我不太喜欢crontab如何工作,因为它只创建了这样的临时文件;

/tmp/crontab.CjOKO9/crontab

我只是希望它在一个实际的脚本中它自己只是运行而不是在一个临时文件中,不确定这是否完全可能,因为我希望它作为运行我的用户帐户名,而不是root。

1 个答案:

答案 0 :(得分:0)

由于某些原因xdg-opencrontab关联使用时无法正常工作。

您可以使用以下任何命令调整您的工作方式:            chromium-browser http://www.google.com             要么            firefox http://www.google.com 基于您的浏览器。