# 基本 rsync -av $src $dest # 同期先にしかないファイルは削除 rsync -av --delete $src $dest # 同期先にしかないファイルは削除 (--exclude 指定してあるものも削除) rsync -av --delete-excluded --exclude '...' $src $dest # シンボリックリンクはその先のファイル実体にする rsync -avL $src $dest # 圧縮して転送する rsync -avz $src $dest # .svn/ を除外してコピーする rsync -av --delete-exclude --delete .svn/ $src $dest
rsync -av /src/foo /dest rsync -av /src/foo/ /dest/foo
バックアップには pdumpfs をずっと使い続けているけど、メンテナンスもされていないので、ぼちぼち rsync --link-dest を使ったバックアップにしようかと。
rsync は --link-dest で前の同期ディレクトリを指定するとそちらに同一のファイルがある場合はそのファイルへのハードリンクにする形に同期してくれるので、無駄なくスナップショットをとれる。ただ --link-dest は自分で明示的に指定する必要があり面倒なのでなんらかしらスクリプトを作る必要がある。
今のところ決定版みたいなのが見つかっていないので、とりあえず用に書いた。ローカル-ローカル専用。
#!/usr/bin/perl use warnings; use strict; use File::Spec; use File::Path; my ($sec, $min, $hour, $mday, $mon, $year) = localtime(time); $year += 1900; $mon++; my $backup_root_dir = '/mnt/backup'; my $source_abs_dir = '/home/naney'; my $i = 1; my $backup_dir = sprintf("%04d-%02d-%02d-%02d%02d%02d", $year, $mon, $mday, $hour, $min, $sec); my $backup_abs_dir = File::Spec->catfile($backup_root_dir, $backup_dir); exit 1 if -e $backup_abs_dir; opendir(my $dh, $backup_root_dir) or die; my @old_backup_dirs = reverse sort { $a cmp $b } grep { /^\d{4}-\d{2}-\d{2}-\d{2}\d{2}\d{2}$/ } readdir $dh; closedir $dh; my $link_dest_dir; for my $old_backup_dir (@old_backup_dirs) { exit 1 if $old_backup_dir eq $backup_dir; next if (($old_backup_dir cmp $backup_dir) > 0); $link_dest_dir = $old_backup_dir; last; } File::Path::make_path($backup_abs_dir); exit unless -d $backup_abs_dir; my $command; if ($link_dest_dir) { $command = "rsync -av --delete --link-dest=../$link_dest_dir $source_abs_dir $backup_abs_dir"; } else { $command = "rsync -av --delete $source_abs_dir $backup_abs_dir"; } system($command);
2015年3月10日にアップデートされた「13インチMacBook Pro Retinaディスプレイモデル」(いわゆる Early 2015) を先週の土曜日についに注文した。めでたく今日到着して開梱。
Model No は A1502 で、 Family ID は Z0QP。Apple Store で注文時の内容は以下。「13インチ:2.9GHz Retinaディスプレイ」のメモリを16GBにして、キーボードを英語キーボードにした。
2.9GHzデュアルコアIntel Core i5(Turbo Boost使用時最大3.3GHz) 16GB 1,866MHz LPDDR3 SDRAM 512GBフラッシュストレージ(PCIeベース) Intel Iris Graphics 6100 感圧タッチトラックパッド バックライトキーボード (US) + 製品マニュアル(日本語)
個人で Mac を使うのは初めて。
ThinkPad X31、ThinkPad X200 と直近2台は ThinkPad だったんだけれど、ここ最近の ThinkPad (というか Lenovo) を考えると次は無いなと。しかしでは他に Linux をインストールしたいノート PC があるかというと思い浮かんでこない。
ということで陥落して MacBook Pro をチョイスした。
3月に仕事で「15インチMacBook Pro Retinaディスプレイモデル」を支給されてついに初 Mac・初 OS X となったわけなんだけれど、使ってみてまあ Debian GNU/Linux から乗り換えてもいいかなと。
MacBook Pro Retina は「13インチか15インチか」が非常に迷うところ。 Web を見ていると「性能的に15インチが良い」という声が多い。しかし実際にオフィスで15インチモデルを使い、東北新幹線で仙台出張に行ってきた感じではちょっと大きいなと。
13インチモデルは13.3インチディスプレイで、今使っている ThinkPad X200 の12.1型ディスプレイより少し広いぐらいでほぼ同じ感じ。本体も若干大きくなるぐらい。やはり普段使うには13インチモデルで十分かな。あとそもそも15インチモデルはまだ Early 2015 が出ていないし。なお MacBook Air は Early 2015 でもメモリ最大8GBなので選外。
初回起動時に指示に従って設定。FileVault ディスク暗号化はデフォルトでチェックされていたけれど、ちょっとリスキーな雰囲気だったので切で進めた。
起動してからシステム環境設定をちょこちょこいじり、後は以下をインストール。
ここまで入れれば一段落。Web ベースの作業はだいたいできる状態になった。あとは使いながら順に環境を作っていく感じかな。Debian GNU/Linux 間での乗り換えの時は基本 $HOME 以下を rsync するかバックアップからの cp -a かでガツンと前の環境を持ってきていたんだけれど、今回はいろいろ見直しながら移していくつもり。
MacBook Pro 上のフォルダと AirMac Time Capsule 上の Data フォルダを同期したい。あと同様に外付け HDD (FAT32) とも同期させたい。OS X 用の良いツールが無いかな? 無ければ地味に rsync かな。
あとちょっとトリッキーな操作をしないとバックアップ先での Time Machine 容量制限をかけられないことを知ってどうしようかと思っているところ。
昨年4月に注文した MacBook Pro が届いてメイン端末を ThinkPad X200 (Debian GNU/Linux) から変更しました。
Emacs・KeePassX・Unison・GIMP・digiKam・VLC などを入れたところで Debian GNU/Linux 上でやっていたことはほぼ OS X 上でもできるようになり環境自体は移行完了。ただ古くから秘伝のタレのようにコピーしていたホームディレクトリはまだ ThinkPad X200 に残ったままでした。
デジカメで撮った写真や動画を rsync や Unison などで昨年少しずつ同期したりオリジナルデータを Dropbox 経由で同期したりしてから整理するなどして、ようやくホームディレクトリが 50GB を切ったので残りを全部まとめて MacBook Pro 側にコピーできるかなという状況になりました。
なので昨晩ようやく rsync でホームディレクトリをまるごと転送を実行。何度やっても更新されていないのに転送を繰り返すファイルがあって何だろうと思ったら、大文字小文字違いのファイルやディレクトリが Debian GNU/Linux 側にあったという落ちでした(適宜改名等して対応)。
整理は終わってないですが、とりあえず ThinkPad X200 が死んでデータ復旧が面倒になる自体は避けられるようになって一安心。年末年始休暇で1つ大仕事が終わって満足です。
Markdown ファイルの拡張子を md にすると Google ドライブで不便だったこともあり、各種テキストファイルのファイル名拡張子を txt に統一していました。しかし昨日入れた iOS アプリの Editorial が txt md taskpaper で厳密に機能を切り替えるようになっており、拡張子を使い分ける必要性に迫られました。
ふりかえってみるとスマートフォンで Google ドライブ上のテキストファイルを全文検索したかったこともそれほど無かったので、ここは使い勝手を考えてまたきちんと拡張子を使い分けることにしました。
とアプリケーションの設定を変更。それから Ulysses で txt ファイルを Markdown と見なしたいファイル群と標準テキストとして見なしたいファイル群で別の外部フォルダとして分けていたのですが、今後は拡張子で処理を変えられるようになりプレーンテキストファイル・Markdown ファイル・TaskPaper ファイルを混在させても問題なくなったので外部フォルダを適宜まとめなおしました。 Editorial で同期するフォルダがコンパクトになるように TaskPaper ファイルの workspace フォルダ配下への集約もしました。
あとは txt をつけていた Markdown ファイルの拡張子を片っ端からスクリプトで md に変更して対応終了です。 Jota+ が Markdown ファイルをハイライトしてくれるようになったりして、これはこれで良かったかなと。
[ ノート・日記はテキストファイルに ]
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。