【问题标题】:Perl script running correctly, but as a crontab it does not workPerl 脚本运行正常,但作为 crontab 它不起作用
【发布时间】:2012-09-28 22:02:50
【问题描述】:

我有一个 Perl 脚本,可以将值插入到 Mysql 数据库中。在同一个脚本中,我检查一个条件,如果成功,则转到星号 CLI 并运行 origin 命令。当我在终端中运行它时,它工作正常。当我将其设置为 crontab 时,它会更新数据库,但 origin 命令不起作用。我是 Perl 新手,请帮我解决这个问题。提前致谢。

Perl 脚本:

if($temperature > 85){
    print `asterisk -rx "originate Dongle/dongle0/0123456789 extension 400\@out"`;
}

Crontab:

*/1 * * * *   /home/test/bin/insert_mysql.pl

【问题讨论】:

标签: perl cron crontab asterisk


【解决方案1】:

Cron有不同的环境:他没有PATH环境变量,所以你必须始终使用命令的完整路径;而且,当前目录一般是未定义的,所以打开文件的时候一定要小心;此外,它没有语言环境设置,但我认为这不是你的情况。

所以你必须给出asterisk 和文件Dongle/dongle0/0123456789 的完整路径(如果是文件)

【讨论】:

  • 当我在 su 模式下输入星号时会出现 CLI。然后是起源命令。那么我怎样才能得到完整的路径呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-03
  • 2013-08-31
  • 1970-01-01
  • 1970-01-01
  • 2018-05-06
  • 1970-01-01
相关资源
最近更新 更多