問題
Cron(具体的にはelysia cron)をDrushで実行できません。私は this をガイドとして使用しています。何を逃した/間違ったのですか?
私のCrontab
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
COLUMNS=80
*/5 * * * * /usr/bin/drush @main elysia-cron
* * * * * env > /tmp/cronenv.log
チェックリスト:
/usr/bin/drush
)へのパスは、which drush
から取得されます。drush @main elysia-cron
はcronを実行しますが、1時間に1回だけです( この問題 を参照)。このcronは5分ごとに実行されるため、1時間に1回は機能するはずです。上記のドキュメントのフォーマットも試しました:
*/5 * * * * /usr/bin/env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin COLUMNS=80 /usr/bin/drush @main elysia-cron
--root
の代わりに--uri
と@main
を使用する方がおそらく簡単でしょう。 Drushはユーザーごとにエイリアスを読み込みます。テストしているユーザーdrush @main elysia-cron
は、@main
のエイリアスファイルで~/.drush
エイリアスが定義されている可能性があります。エイリアスをグローバルな場所に移動するか、エイリアスファイルをwww-dataユーザーの.drush
フォルダにコピーする必要があります。
drush --root=/var/your website/ elysia-cron
エイリアスのDrushフォルダを~/.drush
からデフォルトのサーバーユーザーのホーム/var/www
にコピーしました:www-data
。
私が使用したUbuntuのコマンドは次のとおりです。
cp -r ~/.drush /var/www
Bashスクリプトを/var/www/scripts/elysia_cron.shにするだけです
cd /var/www #put your path to the document root which add centext
/usr/bin/drush elysia-cron
このスクリプトをcronで開始します
*/5 * * * * /var/www/scripts/elysia_cron.sh