3

MysqlDBに値を挿入するPerlスクリプトがあります。同じスクリプト内で、条件を確認し、成功した場合は、アスタリスクCLIに移動してoriginコマンドを実行します。ターミナルで実行すると、正常に動作しています。crontabとして設定すると、DBは更新されますが、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 に答える