Skype for Mac のチャットログを手動でバックアップする
大切な思い出の記録として Skype のログを取りたいという友人の要望。
Skypeの機能で実現できないかツールバーを漁ってみたが、書き出し機能見当たらず。
チャットの隠しコマンド /htmlhistory でHTML出力できる…というエントリーが複数ヒットするも、あいにく使えなかった。
というわけで、黒い画面からアレコレしてログを抜粋する方法を実践。
目的
特定のチャットのみ抜き出して保存したい。
環境
- 友人の Mac Book (OS X 10.5)
- Skype for Mac (バージョン不明)
- バージョン控え忘れましたが、手元の環境(Mac OS X 10.8 / Skype v6.15) でもできました。
参考エントリー
手順
1. ターミナルを起動
2. ~/Library/Application Support/Skype/《Skype ID》/ に移動する
$ cd Library/'Application Support'/Skype/hi3103
3. いったん全部のログを書き出す
$ echo "SELECT from_dispname, body_xml, chatname FROM Messages;" | sqlite3 main.db > 任意の名前.log
4. 書き出したファイルを開き、バックアップしたい会話をさがす
ひとつひとつの発言が
サトウ|やっほー|#hi3103/$maeba;hogehogehogehoge
といったかたちになっており
- グループチャット作成者の Skype ID (例:hi3103)
- 最初にグループチャットに加えられたメンバーの Skype ID (例:maeba)
- グループチャットのID(英数字16文字) (例:hogehogehogehoge)
が確認できるので、この # 以下をまるっとコピーする。
バックアップしたい会話が複数ある場合はすべて控えておく。
5. chatname を指定(コピーした内容を貼付)して書き出す
$ echo 'select datetime(timestamp,"unixepoch","localtime"), author, body_xml from Messages where chatname="ここにペースト";' | sqlite3 ./main.db > 任意の名前.log
6. 結果、こんな感じで保存できた
2014-04-03 15:17:33|hi3103|やっほー
2014-04-03 15:19:38|maeba|マエバだよー
2014-04-03 15:19:54|maeba|ドヤァ
2014-04-03 15:20:03|hi3103|うぜぇ
以上
なんかもっとスマートな方法ある気がするけど、目的は達成したのでよし。