質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

1回答

1619閲覧

WP-Cronをcronで動かしたい(WP-CLIで)

ousia

総合スコア10

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2020/06/03 07:22

編集2020/06/04 10:24

やりたいこと

wordpressの予約投稿機能を使いたいのですが、普段wp-cronを無効にしているためデフォルトの予約投稿が使えません。
そこで、cronを用いてwp-cron.phpを呼び出せば動くという情報を元に試しているのですが予約投稿が上手くいきません。

参考サイト

[WordPress] WP-Cronを本職のcronに任せる

やったこと

/usr/local/wpcron.sh を作成
下記の内容

#!/bin/bash # # wp-cronをCLIから実行する # #--------------------------------------- # 定数 #--------------------------------------- # WORDPRESSをインストールしたディレクトリ #ここは自分のWPのパスに書き換えました。 WP_ROOT='/web/wordpress' #--------------------------------------- # 実行 #--------------------------------------- /usr/local/bin/wp cron event run --due-now --path=$WP_ROOT

ためしに手動で実行

cd /usr/local ./wpcron.sh

予約投稿成功しました。
なのでcrontabでこのシェルスクリプトを1分ごとに実行するように指定しました。

crontab -e

cron

1* * * * * cd /usr/local; ./wpcron.sh

これだと動きませんでした。
cronが動いているかの切り分けとして
シェルスクリプトに以下の記述を追加して動作しているか試しましたがtest.txtにtestと追記されていましたので、
cron自体は動作していると思います。

echo 'test' >> /var/www/test.txt

cron自体は動いているので1行目のパスが悪いのか、実行フォルダが悪いのか・・・

追記

cron実行時にメールが届くようにしていたのですが、以下のようなメールが届きました。
「/usr/bin/wpcron.sh」とあるのですが実際にあるのは「/usr/local/wpcron.sh」でした・・・

/bin/sh: /usr/bin/wpcron.sh: No such file or directory

何かヒントでもあればうれしいので少しでも分かる方がいたら教えてもらえないでしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2020/06/03 11:03

cron を実行しているユーザーあてに メールで cron の実行結果が送信されていると思いますが、 どのような結果になっているでしょうか?
ousia

2020/06/04 10:24

ありがとうございます! 追記しました。
guest

回答1

0

/bin/sh: /usr/bin/wpcron.sh: No such file or directory

うーん?

/usr/local/wpcron.sh を作成

に記載された内容とエラーメッセージが一致しない気がしますね...

cron で指定しているパスが間違っているとか無いでしょうか。

たとえば、

* * * * * /usr/local/wpcron.sh

のように作成したシェルスクリプトをフルパスで指定した場合、動作するでしょうか?

投稿2020/06/04 11:06

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問