メニュー

cronからwp-cliを実行する方法

cronからwp-cliを実行するためbashファイルにwpコマンドを登録したが、なぜか動作しなかった。
cronの実行ログ(/var/log/cron)を確認すると「wp: コマンドが見つかりません」という記録が残っていた。

解決策

cronを実行するbashファイルもしくはcron設定ファイル(crontab -e)から、wpコマンドまでのパスを通すこと。
ただしcron設定ファイルからパスの設定をする場合は、すでに登録されているパスを付けないと他のコマンドが動かなくなってしまう。

万が一のパストラブルが生じると困るので、私はbashファイル側にwpコマンドのパスを通すことにした。

which wp

まずはwhichからwpコマンドがどこにあるかを探す。
私の環境の場合は「/usr/local/bin/wp」だった。

#!/usr/bin/bash

PATH=$PATH:/usr/local/bin

〜〜ここからwp-cliの設定〜〜

bashファイルに「PATH=$PATH:/usr/local/bin」を追加してパスを登録する。パスを通すとき「/wp」は不要。

パスを通してからcronを試すとwp-cliは問題なく動いた。