レンタルサーバーのCronで『BackWPup』の外部リンクを利用してバックアップを取る

Cron設定用コマンドコード

・Xserver(https://www.xserver.ne.jp/

wget -q "BackWPupのジョブスケジュール設定「リンク」で発行されるURL"

# BASIC認証がある場合
wget -q --http-user=BASICユーザー --http-passwd=パスワード "BackWPupのジョブスケジュール設定「リンク」で発行されるURL"

・さくらインターネット(https://www.sakura.ad.jp/

/usr/local/bin/curl -s 'URL'

# BASIC認証がある場合
/usr/local/bin/curl -s -u ユーザー名:パスワード 'BackWPupのジョブスケジュール設定「リンク」で発行されるURL'

※さくらインターネットはコマンドを絶対パスで入力しないとダメ

メモ

WordPressのCron動かなかった問題

『BackWPup』でWordPressのCronを利用したスケジュールのジョブを試しましたが、WPのCronは設定した時間に「サイトにアクセスがあった時」にジョブを実行するか見ているとのこと。

午前3-4時はサイトにアクセスがない&BASIC認証がかかっているような場合アクセスがないためWPのCronではスケジュール通りのジョブの実行ができません。

そのためレンタルサーバーのCron機能を利用してスケジュール通りの実行はレンタルサーバーに任せ、バックアップの作業自体は『BackWPup』でやるという形にします。

  • 『BackWPup』のジョブスケジュールの設定の中に「リンク」の項目があるので選択。
  • 当記事冒頭に記述したコードを参考にレンタルサーバーのCron設定を追加。

BASIC認証

BASIC認証がかかっているサイト場合、プラグインから発行されるURLではhttp://user:pass@ドメイン/wp-cron.php?_nonce=xxxxxxx&backwpup_run=runext&jobid=xxxのような形式になり、
“@”がコマンドとして使用できないことがあった。

そのためwgetを使用する場合はコマンドオプションで--http-user--http-passwdをつけることで解決。