内向型人間の知恵ブログ内向型人間の知恵ブログ悩みのタネが、ネタになる。サイトを新しいテーマに変更しました。2019.04.24Tweetシェアデータをバックアップ・復元するにはいくつかの方法がありますが、WordPressにはデフォルトでXMLをエクスポート・インポートする機能が備わっています。デフォルトの機能で済むなら、とインポートする手順を調べて実行しました。ところが、事前にFTP(またはSFTP)で画像をアップロードすると、インポートした画像がダブることに気づきました。場合によって「事前にFTPでアップロードする方法」は、適切とは言えません。添付ファイルは画像だけでなく、テキストや音楽データも有りえます。私の環境では画像ファイルしかなかったため、以下「添付ファイル」は「添付画像」を指しますXMLインポートの思い込みWordPressのバックアップのために、エクスポートしたXMLファイルと、サーバ内にある「themes」「plugins」「uploads」のディレクトリを保存しています。当初、インポートするXMLファイルはFTPでアップロードした画像を参照してくれるとものだと思っていました。インポートする前に画像ファイルをアップロードする必要があると思いこんでいたのです。事前のFTPアップロードでファイルがダブるインポート後のサーバのファイルを見てみると「-1.jpg」と連番になった画像が存在していました(Fig1)。ファイルのタイムスタンプを見れば、インポートした画像はFTPによって「既に存在していた」ことがわかります。Fig1.ファイル名が被った画像が連番になった様子(Filezilla)ファイルがダブる理由WordPressのインポートには、「元のサイトから添付ファイルをダウンロードする」というチェックボックスがあります。チェックを入れて実行した場合、元のサイト(私の場合は本番環境)から画像ファイルがダウンロードされ、それがメディアライブラリに登録されるという流れだと思われます。事前にFTPでアップロードすると、「インポート時のダウンロードで同名のファイルが存在するため連番になった」ことが原因でしょう。インポート時に元サイトからダウンロードする場合は”uploadsディレクトリをFTPでアップロードしなくていい”というのが結論。(テーマを流用したいなら、themeディレクトリをアップロードする必要がある。)(pluginsディレクトリも、アップロードするすれば設定を引き継ぐことが可能。)チェックを入れなかった場合、画像ファイルはダウンロードされず、メディアライブラリにも登録されません。そのままではブログを開いてもアイキャッチや添付画像は表示できません。事前にFTPアップロードするだけではメディアライブラリに登録されません。FTP」というプラグインで年月ベースに分類できるようですが、どこが間違っていたのか、うまく行きませんでした(Fig2)。FTPの検証はしていません)Fig2.FTPでアップロードするだけではタイムスタンプを保持できず、年月で分類できないもし本番環境でトラブルが起きて、それを復元したいと思ったとき......「元サイト」からのダウンロードは当然できません。バックアップ・復元の方法として、メディアライブラリまわりにはひと工夫が必要な印象です。adminのようにデータベースそのものを保存する準備が必要でしょう。(まだ私は試していませんが。)未検証・仮説あれこれFig1の画像ではオリジナルサイズの画像しか連番が作成されていませんが、これは仮想マシンのサーバにGDモジュールがインストールされていなかったせいです。これに気づいたのは再現作業の後半のことで、画像のダブりに気づいたときにはインストールされていませんでした。(仮説)もしGDモジュールがインストールされていれば、オリジナルサイズがメディアライブラリに登録された際にサイズ差分のファイルが作られる。作成したファイル名は事前にFTPでアップロードしたファイルと被るだろうから、サイズ差分の画像それぞれに「-1.jpg」という連番処理がされるだろう。メディアライブラリに登録されることによって、ブログ閲覧時にアイキャッチや添付画像が表示される。いうことは、画像をダウンロードしない場合、インポート前にメディアライブラリに登録しておけば紐づけてくれるかもしれない。ImpoterによるXMLをインポートしたときの挙動をフローチャートにしてみました。Importerの挙動をフローチャートにしてみたタイムスタンプ(1ヶ月ぶりに)投稿しました。18.04アップグレード失敗談【クリーンインストール編】プロフィールchromitz(くろみつ)「自分がつまづいたところは、他の誰かもつまづくだろう。困っている人を助けるために解決策を発信したい」というスタンスでブログを始めました。うつ経験者で、アダルトチルドレン。「動けない完璧主義」を抱えて生きてます。