3

我有一个 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
4

1 回答 1

6

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

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

于 2012-09-28T13:20:31.090 回答