move data via davical
サーバをAWSに乗り換えたので、davicalもAWSのUbuntu12の移行した。
ソフトウェアの移行はすんなりいったが、データ(スケジュール)の移行はちょっと手間取ったのでメモ。
1. 旧データのexport
davicalは、カレンダー毎の識別子を「principal」という方式で管理している。
ユーザ毎ではなく、カレンダー毎、例えば自分のカレンダーを「仕事」、「プライベート」というように分けて管理している場合は、それぞれ異なるprincipalがある。
例えば、以下のように「vuzu/1EB5BB1F-41EC-48E1-AE1E-A1A10A29BF95/」という識別子がついている。
davical自体には、「これどうぞ!」というようなスケジュールのexportはないが、認証情報&URLがわかれば、princival毎に簡単にファイルに取得できる。
たとえば、こんなshを書けばいい。
#!/bin/sh for i in D7A4E545-9212-4724-8A52-28D7860660A6 # princivals do wget --http-user=ユーザ名 --http-passwd=パスワード https://サイト名/caldav.php/ユーザ名orグループ名/$i --no-check-certificate -o data/$i.log -O data/ユーザ名.ics done
上記shで作成したファイル「pricival名/ユーザ名.ics」をdavicalサーバに転送し、davivalの管理画面を利用してimportする。
下記の例は、ファイル「pricival名/ユーザ名.ics」を「/tmp/xx」において、ユーザ「vizu」、princival「D7A4E545-9212-4724-8A52-28D7860660A6」をimportしたもの。