cronでPHPを使用してbashスクリプトを実行する

cronでPHPを使用してbashスクリプトを実行する

PHPが実行するcurlコマンドを含むスクリプトがあります。

/root/notify-down-script.sh

#!/bin/bash
echo "test" > file
curl -d "credentials=foobar" -d "title=$server down" https://notifi.it/api

コマンドラインから実行できます。

/usr/bin/php -r "echo shell_exec(\"/root/notify-down-script.sh test\");"

良い結果。 cronに追加すると:

*       *       *       *       *       /usr/bin/php -d safe_mode=Off -r "echo shell_exec(\"/root/notify-down-script.sh test\");"

これはカールを呼び出しません(呼び出されませんecho)。これはすべてrootとして実行されます。スクリプト(> /tmp/curl.log)でカールの出力をキャプチャしようとしていますが、何も起こりません。私はカールパス全体を試してみました。私は完全に迷子になった。私は何が間違っていましたか?

ベストアンサー1

次のように、スクリプト内のカール呼び出しにフルパスを追加します。

/usr/bin/curl -d"credentials=foobar" -d"title=$サーバーダウン"https://notifi.it/api

おすすめ記事