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

uth*_*ana 3 perl cron asterisk crontab

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

Perl脚本:

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

crontab的:

*/1 * * * *   /home/test/bin/insert_mysql.pl
Run Code Online (Sandbox Code Playgroud)

PSI*_*Alt 6

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

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