2012-02-11 115 views
2

我有一个shell脚本,它会定期检查ADSL外部IP地址,并在发送邮件时将其发送给我。Cron作业与独立作业不同

​​

当我从命令行运行它时,此功能完美无缺。但是在我把它放入cron之后,NEWIP和OLDIP总是一样的。我不知道为什么,有人可以帮忙吗?

回答

2

什么是./current

您没有在脚本中使用绝对路径,因此文件将在任何地方运行。你应该使用绝对路径。

cron和命令行运行之间唯一的其他重要区别是脚本在其帐户下执行的用户。确保帐户(如果它不是root)有显著的权限做你要求它做什么。

或者更好的是,使用已建立的动态DNS客户端,因此您不必关心外部主机名。你确实意识到你依靠这个网站是诚实的,对吗?

+0

互动和cron之间的差别比你更大的主张,并在多个常见问题记录。 – tripleee 2012-02-11 09:53:58

+0

是的,我知道。这只是让我们继续前进的临时解决方案。谢谢。 – eric 2012-02-11 14:31:15

+0

有免费的DDNS方式吗?看起来所有DDNS服务提供商至少每年收取20美元。 – eric 2012-02-11 15:16:48

2

在脚本开始时,您应该将目录更改为正确的(作为猜测)。或者使用绝对路径。