プライベートモードで閲覧中です。

sugar pot : バックアップファイルにダミー記事を挿入してパーマネントリンクを保持する方法

ほろ苦い夢のかけらのおすそわけ

スポンサーサイト

--年--月--日(--)

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
#
カテゴリ:スポンサー広告

trackback

バックアップファイルにダミー記事を挿入してパーマネントリンクを保持する方法

2006年12月30日(土) コメント:4 トラックバック:1

blog9クラッシュの際に、失われたデータを探し補完しながら、ウェブに公開されたアドレス(パーマネントリンク=http://ブログID.blog(x). fc2.com/blog-entry-(n).html)を変更しないようにバックアップデータを元に戻す方法について書きました⇒バックアップファイルからパーマネントリンクを保持して記事を復活させる方法

これにはかなり原始的というかアナログな作業を伴いました。折角パーソナルコンピュータをつかっているのだから、もう少し省力化はできないか。プログラミングスキルを持ったひとから提案がほしい、と思っていたところ、blogger323さんからトラックバックをいただきました。

ヘタレな趣味の道:FC2ブログパーマネントリンクを考慮したリストアツール

perlがつかえることが前提

ただこれは、残念ながら、誰にでもすぐつかえるツールではありません。少なくとも、perlという言語が自分のパソコン上でつかえなければなりません。したがって、この記事は、すべてのひとを対象とするのではなく、perlについて多少知識のあるひと、あるいは、知識を得ながら初めての作業を行う気力のあるひとを対象とします。

もっとも、UNIXユーザなど、知識のあるひとには言わずもがなのことで、上記のblogger323さんの記事のご紹介だけで事足りるでしょう。ここから先は、試行錯誤しながら、自己責任のもとでやってみたい、と考えるひとにひょっとしたら参考になるかもしれない、という内容です。以上、ご承知おきください。

では、perlをつかえる状況にしなければなりませんので、以下を参考に前準備を行ってください。

  • windows:Webサーバ(Apache)とPerl(ActivePerl)をインストールします。詳しくはこちら⇒Perl Script Language Try TheHomepage:ローカルサーバでCGI
  • MacOSX:ApacheもPerlも用意されているので、前準備は不要です。
  • MacOS9:MacPerlをインストールする必要があります(おそらく、です。OS9で現在試せないので、推測でしかありません。悪しからず)。

ここまでの準備は、良いですか?


実際に試してみた。

OSXユーザの私は、「それがつかえること」は知っていました。そこで、記事にそって、試してみました。以下は、perl?そんなの知ってるよ、というひとには言わずもがな、のことです。MacOSXのユーザで、perl?ターミナル?それ何?というレベルのひとが、「自己責任」を承知で行う場合に、参考になるかもしれない情報ということでご承知おきください。

windowsで、あるいはMac OS9でやってみた、というかたがいらっしゃいましたら、トラックバックやコメントでお知らせいただけると嬉しいです。

用意したもの
  1. backup.plは、上記blogger323の記事の「プログラムファイル」をクリック、「別名で保存」で「backup.pl」として保存します。Safariにはありませんが、Firefox、Operaにはフォーマットというメニューがあります。「Text File(Firefox)」「テキストファイル(Opera)」にて保存します。
  2. sitemaps.xmlは、自分のブログのアドレスの後ろに「sitemaps.xml」をつけて表示し(このブログであればhttp://bittersweetdreams.blog9.fc2.com/sitemaps.xml)、同様に「sitemaps.xml」として保存します。フォーマットは「Webアーカイブ(Safari)」「Webページ,HTMLのみ(Firefox)」「HTMLファイル(Opera)」で保存します。
  3. バックアップファイルは、管理者ページのメニューから「全部」バックアップします(このブログであればfc2blog_bittersweetdreams_all.txtとして保存されます)。

バックアップファイルを取るには、ほかにもいろいろ便利なツールがあります。こちらをご覧ください。⇒

これでファイルの準備は整いました。これらを、ひとつのディレクトリに入れます。試しに、書類フォルダ内に「getbackup」というフォルダを設けて、入れてみました。

ターミナルを起動する

普段Macをつかっていて、このアプリケーションを起動することはないかもしれません。アプリケーションフォルダの中のユーティリティフォルダにある「ターミナル」を起動します。

するとこんな画面になります。コマンドラインの世界です。

Last login: Fri Dec 29 03:14:55 on ttyp3 Welcome to Darwin! bittersweetdreams-nokonpyuta:~ bittersweetdreams$

先ほどのgetbackupのフォルダ内に移動しましょう。パスは「/Users/bittersweetdreams/Documents/getbackup/ 」ですが、そこはMacのお得意のDrag & Dropをつかいましょう。この文字列の一番最後に、場所を移動するコマンドの文字列「cd」とスペースをタイプした後、フォルダ「getbackup」をDrag & Dropします。
ターミナル上でもドラッグ&ドロップすると、

bittersweetdreams-nokonpyuta:~ bittersweetdreams$ cd /Users/bittersweetdreams/Documents/getbackup/

とやってくれます。これは楽ちんですね。そこでenterキーを押すと、次の文字列が現れます。

bittersweetdreams-nokonpyuta:~/Documents/getbackup bittersweetdreams$

書類フォルダの中の「getbackup」フォルダに移動しましたよ、ということですので、ここで「perl backup.pl fc2blog_bitter_all.txt ->newbackup.txt」とタイプしてenterキーを押します。

すると、1秒と経たないうちに、「getbackup」フォルダ内には、「newbackup.txt」という新しいファイルができ上がります。

newbackup.txt

このファイルは、以下のようになっています。

  • 公開された記事の位置を、パーマネントリンクを保持するために整頓。「下書き」の記事はその前後に「下書き」として保存。必ずしもパーマネントリンクは一致しない。
  • 削除された記事はタイトル「DUMMY」日付「2000.01.01」として上記の記事の間に補完。

実際にはこのような感じになります。
新しいバックアップファイル

これでもう、手作業でダミー記事を挿入する作業は必要なくなりました。たとえば私の場合、ここのブログの記事800近くを、ひとつひとつ追って、足りないものについてダミー記事を手でペーストして行きましたが、その作業から解放されるのですから、万が一のことがあっても、かなり楽になりました。

ただ一つだけ、手作業で行わなくてはならないことがあります。もし、記事本文(追記を含む)やコメントの中に「-----」という文字列が存在した場合、ファイルのリストア時に、「-----」をバックアップファイルのデミリタ(区切り)と誤読され、折角のパーマネントリンクがずれてしまうということが発生します。したがって、「-----」があると考えられる場合には、それをひとつひとつ検証(目で追って別のものに置換)しなければなりません.

ただし、これは一度行ってしまえば、以後は以下のような方法で回避することができます。

  • 記事を書く際には、文中に「-----」は使用しない。
  • コメント、トラックバック内で使用されないために、禁止ワードに「-----」を設定する。

禁止ワードを設けた場合は、ブログのどこかに注意書きを入れましょう。注意書きがないと、万一コメントやトラックバックの概要文に「-----」が含まれた場合に、「どうしてコメント投稿 / トラックバックできないの?」ということにもなりかねません。

[追記:12/30 14:40]今のところ、記事および自分のコメント内には「-----」を使用しないように気をつけるくらいしかありません。区切りの意味で利用する場合は、記事の際は、入力支援の[―]ツールを利用しましょう。あるいは直接タグ<hr>を入力しましょう。コメントは別の記号や改行で工夫します。

禁止ワードに「-----」を入力する案はボツです。やはりこれは本末顛倒。「-----」が概要に含まれているからトラックバックを受信しない、というのはおかしな話ですね。また、ほかのサイトから引用したい文章に含まれている場合や、スクリプトなどで読み込むアフィリエイトの紹介文に含まれている場合は触れることができません。やはりシステムのほうで置換するなりなんとかする方向を要望したいです。

労力のバランスを考えよう

以上、見よう見まねでやってみました。省力化がはかれるかどうかは、実際には、ユーザのスキルによるかと思います。ここまでの作業、とくにperlをつかえるようにするまでが苦にならない場合は、この方法が有効ですし、そうでない場合は、手作業のほうが却って効率的であると言えます。滅多にないデータの消失に備えて、ここまでするかどうかは、ご自身のスキルや興味関心、モチベーションなどによって、この方法を採用するかどうか判断してくださいね。その上で、この記事が参考になるかたがいらしたら、私も嬉しく思います。

最後になりましたが、私の要望に快く耳を傾けてソースを修正してくださったblogger323さんに感謝申し上げます。

#661
カテゴリ:104 ブログ作成
タグ[ バックアップ パーマネントリンク perl ]

trackback

<<Mac OperaでユーザーJavaScript | 大晦日を控えて、バックアップを取りましょう>>

コメント(-4件)

出人:ちょっとした疑問

力作ですね。今年最後の長文記事でしょうか。わたしも、いつか一度どこかでやってみないといけませんね。ダミーブログでも作って。

とりあえず、FC2ブログ側で、ユーザーが削除と同時にダミー記事(タイトル「削除」 本文「削除」)を入れてもらうというのはあり得ないんでしょうか? 今後でもいいんですけど。

それと、この記事自体の「-」×5は大丈夫なんですか?

  • 2006年12月30日(土)08:38:07
  • URL
  • 編集
sugar:システムでの対応

>削除と同時にダミー記事(タイトル「削除」 本文「削除」)を入れてもらう
それが一番合理的でしょうね。でも、まぁそこはこのツールでなんとかなりますが、「-----」を置換するとか、そちらのほうを先にやっていただきたいですね。

トラックバックや、ほかのサイトの記事の引用、アフィリエイトの説明文などに含まれている場合はいかんともしたがいですものね。

というわけで、今年最後の要望を出しておこうと思います。

  • 2006年12月30日(土)15:05:38
  • URL
  • 編集
daniel:

新年おめでとうございます。
これ、良いですね。
「プラグインカタログ」 とかには必須だと思われます。
(後でまた空記事を削除しなければなりませんが) 
でも現状の性質を利用して欠番解消(再構築)したい人もいるでしょう
FC2には他に先駆けてこの辺の対応を充実させて欲しいものです

  • 2007年01月03日(水)01:48:49
  • URL
  • 編集
sugar:danielさん、

今年もよろしくお願いします。

>FC2には他に先駆けてこの辺の対応を充実させて欲しいものです

そうですね。地味なことなので、なかなか難しいとは思いますが、ぜひとも考慮していただきたいですね。

  • 2007年01月05日(金)05:37:53
  • URL
  • 編集
コメントの投稿

トラックバック(-1件)

http://bittersweetdreams.blog9.fc2.com/tb.php/661-3f9b3e16

バックアップファイルの成形ツール

ブログのバックアップファイルは、ブログのテキストデータを「完全」にバックアップするには、そのままでは不充分です。削除したデータがあった場合、パーマネントリンク(URL)が変わってしまうからです。したがって、

  • 2007年01月01日(月)06:56:03
  • from FC2ブログの歩き方 blog blanch

Bookmarked

Blog Battler

ブログバトラー

Twitter

    フリーエリア

    上部の説明

    下部の説明

    Utilities

    Ad

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。