2.0へのデータ移行
Last Update: 2006-08-06 06:02:16
1.4までのバイナリファイルに変わって、2.0からは独自のテキスト形式ファイルに変わりました。もちろん従来のバイナリファイルも使えます。ここではバイナリファイルを新しいテキストファイルへ変換する方法と、従来のバイナリファイルを使う方法を説明します。
いずれの場合も、1.4から2.0以降にする場合には、tdiary.confは新しく作り直した方が良いでしょう。指定できる設定がいくつか増えています。
2.0で従来のバイナリファイルを使う方法
tdiary.confで指定をします。tdiary.conf.sampleには、以下のような記述があります。
# 日記保存形式の指定【オプション】 # 日記の保存形式を標準から変更する場合には、必要な設定をしなければなり # ません。何も指定しない場合にはtDiary2形式(テキスト)になります。 # 何を指定するかは、その保存形式用プログラムの説明に従ってください。 # 以下の2行のコメント(#)をはずすと、tDiary1形式(バイナリ)になります。 #require 'tdiary/pstoreio' #@io_class = TDiary::PStoreIO
新しいtdiary.confで、この最後の2行にある行頭の「#」を削除してやれば、従来のデータがそのまま使えます。
1.4のデータをテキストに変換する方法
misc/convert2.rbというコマンドがあるので、それを使います。tDiaryインストールディレクトリにtdiary.confがあるという前提だと以下のようにすれば変換できます。「apache:apache」の部分は環境に合わせて適宜読み換えてください。
% su ←ファイルのパーミッションがWebサーバだと思うのでroot作業を推奨 Password: # cd (tDiaryのインストールディレクトリ) # ruby misc/convert2.rb # cd (データのディレクトリ) # chown -R apache:apache . ←Webサーバから読み書きできるように
なお、tdiary.confが異なる場所にある場合には、-pオプションや-cオプションを指定する必要があります。
- -p <dir>: tDiaryのインストールディレクトリ
- -c <dir>: tdiary.confがあるディレクトリ
新形式のファイルは、年ごとのディレクトリの下にYYYYMM.td[2cr]という形式で入っています。.td2は日記本文、.tdcはツッコミ、.tdrはリンク元がそれぞれテキストで月単位にまとまっています。
あとは、(勇気のある人は)旧データ(YYYYMMのファイルとYYYYMM~[バックアップ])を削除してもけっこうです。でも念のため、どこかに残しておきましょう:-) また、テキストファイルの方も、定期的にバックアップをとりましょう。

コマンドラインで作業することができない場合(たとえばxreaとかのサーバを借りていて1.5系なおかつテキストファイルにしたい場合)変換する手段ってないものでしょうか?
うーん、そういうニーズがありましたか……。ちょっと考えてみます
ブラウザ上からconvert2.rbを実行したら変換できましたよ。>xrea
うーむ。大胆だけど、それはアリですね……
あれ? XREAってSSHが使えるんじゃなかったでしたっけ。
rbashとかいうシェルでかなり機能が制限されてるようです(曖昧ですいません)。
1.5系向けにPgsqlなIOクラスを実装しています。ところで、これって既にありますか?<br>ちなみに、私が現在作成中のPostgres版テスト版は、http://ma2tak.dyndns.org/tdiary/になります。
まだ存在していません。期待してます!
とりあえずβ版的ですが、公開しました。<br>http://ma2tak.dyndns.org:8888/ma2tak/1600<br>です。
はじめまして。<br>今朝、1.44から1.54へバージョンアップしたのですが、そこで質問です。<br>telnet は出来るのですが、su出来ないため、misc/convert2.rb が失敗に終わります。<br>とりあえずそのままにしてあるのですが、tdiaryの設定をバイナリのままにしていても、各テーマやrecent_listなどのリンクが全て 日付.html になってしまいます。<br>これは、バイナリデータのまま運用するためには1.4のプラグインあるいはテーマを使わなくてはならないということでしょうか。<br>(現在は一時的にテキスト形式で保存していますが、そうすると以前のバイナリデータのログが表示されません)
データ形式は関係ないです。html_anchorプラグインが入ってるんじゃないですか? プラグインは必要なものだけ入れましょう
ありがとうございました。sqeeze.rbを入れれば、html_anchorでリンクできるものと思って入れたhtml_anchorでしたが、ご指摘の通り外したらうまく動きました。<br>ありがとうございました
1.5で従来のファイルを使う方法ってことで説明通りtdiary.confの#をはずしてみましたがエラーになってしまいます・・・ファイルの方にも何か修正が必要なのでしょうか?
1.5.6のバグでした。最新版のpstoreio.rbでは直っています。
最新版でやってみたら読めるようにはなりましたが<br>新しく追記して登録を押すとエラーになります。<br>もちろんツッコミもできません・・・お助けを・・・
ここではサポートできないのでtDiary-usersの掲示板あたりでお願いします。tDiary-devel MLでも良いです<br><br>http://tdiary-users.sourceforge.jp/cgi-bin/wforum/wforum.cgi
ずっと1.5から2.0へのデータ移行の情報を探し続けていました(x_x)<br>というのは、「1.5へのデータ移行」というリンクが張られている内容に2.0への移行情報が書かれていたからです。<br>ちょっとこれには混乱しました。