Perl脚本运行正常,但作为crontab它不起作用

Perl脚本运行正常,但作为crontab它不起作用,perl,cron,crontab,asterisk,Perl,Cron,Crontab,Asterisk,我有一个将值插入Mysql数据库的Perl脚本。在同一个脚本中,我检查一个条件,如果成功,则转到asterisk CLI并运行origine命令。当我在终端运行它时,它工作正常。当我将其设置为crontab时,它将更新数据库,但origine命令不起作用。我是Perl新手,请帮我解决这个问题。提前谢谢 Perl脚本: if($temperature > 85){ print `asterisk -rx "originate Dongle/dongle0/0123456789 ext

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

Perl脚本:

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

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

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


因此,当我在su模式下键入asterisk时,CLI将出现,您必须给出“
asterisk
和文件
Dongle/dongle0/0123456789
(如果是文件)

的完整路径。然后,启动命令。那么如何获得完整路径呢?请参见