nDiki : rsync

rsync

よく使うパターン

 # 基本
 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

src と dest の指定

 rsync -av /src/foo  /dest
 rsync -av /src/foo/ /dest/foo

関連情報

  • cwRsync
    • Cygwin 上で動く rsync を使うのに必要な最低限のファイルをパッケージングしたもの。
  • Unison
  • lsyncd (live syncing (mirror) daemon)
    • inotify を使ってディレクトリツリーの変更を監視し、同期するデーモン。
  • SSH
  • バックアップ
  • rdiff-backup
  • rsnapshot

web

スポンサード リンク

2013年6月2日 (日)

今日のさえずり: どうみても健歩できた陽気でした。ありがとうございました。

2013年06月02日

  • 09:12 CS も数字いっぱいあるので常時表示したいな。 / “50インチディスプレイは7万円台 « なんか:かんがえて-5” http://bit.ly/13uIK6d
  • 09:53 どうみても健歩できた陽気でした。ありがとうございました。
  • 12:43 入場無料。 (at @Tck_keiba) http://4sq.com/147MFb7
  • 13:32 カレーライス食べてマッタリ。
  • 13:54 まだ馬のウも見かけていない。
  • 14:30 競馬のあとは、ホーマッ! (@ ホーマック 大井競馬場前店) http://4sq.com/19yclA7
  • 15:34 イートインコーナーが数少ない喫茶スポット。 (@ 文化堂 ウィラ大井店) http://4sq.com/1aQcw7V
  • 15:38 ホーマック、良さげなカラビナなかったし。
  • 15:43 foursquare、チェックインを Twitter にシェアした時、 Twitter アカウントが設定されている venue ならその名前じゃなくて Twitter アカウント名で書き込まれるのか。
  • 18:27 “Re: rsync で削除すると速い (?) 件 - いちいの日記http://bit.ly/11wRPbr
  • 18:38 ホーマックで買ってきたプリティーリズムの塗り絵がどうも1つ前のシリーズのディアマイフューチャーらしくて、1ページ目のキャラの名前がわからなくて、色がわからなくて、調べて、ようやく「上葉みあ」らしいということが判明。
  • 18:39 ソーシャルメディアでアカ割るより難儀した。
  • 23:08 結婚記念日のお祝いする。
  • 23:08 宇宙戦艦ヤマト2199もあわせて視聴。
  • 24:50 大井競馬、日曜日開催って意外にレアだったんだ。今度はちゃんとレース見られるように時間組もう。
[ 6月2日全て ]

2014年3月25日 (火)

EmacsOrg Capture でぼっちつぶやき

あとで整理してまとめたりできるように、ふと思ったことを非公開で1人 Twitter タイムライン的にログっておくのに PC 上でなかなかいいのないんだよねとずっと思っていたんだけれど Emacs の Org mode にある Org Capture 試してみたらいい感じだった。

普段 Org mode 使っていないので Org Capture で必要なところだけ設定してみた。

 (require 'org)

 (setq org-capture-templates
       '(
         ("t" "Timeline (local)"
          plain
          (file (concat "~/var/timeline/timeline-" (format-time-string "%Y-%m-%d") ".md"))
          "- [%(format-time-string \"%Y-%m-%d %H:%M:%S\")] %?\n")
         ("n" "Note (local)"
          plain
          (file (concat "~/var/note/" (format-time-string "%Y-%m-%d-%H%M%S") ".md"))
          "# %?\n[%(format-time-string \"%Y-%m-%d %H:%M:%S\")]\n")
         ("T" "Timeline"
          plain
          (file (concat "/naney@example.com:/home/naney/var/timeline/timeline-" (format-time-string "%Y-%m-%d") ".md"))
         "- [%(format-time-string \"%Y-%m-%d %H:%M:%S\")] %?\n")
        ("N" "Note"
         plain
         (file (concat "/naney@example.com:/home/naney/var/note/" (format-time-string "%Y-%m-%d-%H%M%S") ".md"))
         "# %?\n[%(format-time-string \"%Y-%m-%d %H:%M:%S\")]\n")))

 (global-set-key (kbd "\C-cc") 'org-capture)

'C-c c t' すると

 - [2014-03-25 23:24:25]

が書かれたバッファが開くので適当に何か書いて C-c C-c する。と、~/var/timeline-2014-03-25.md にその内容が追記される。

TRAMP でリモートホスト上のファイルを開く時のファイル名を指定してみたらうまくいったので、さくっとリモートファイルにも追記できてすごく嬉しい。ので 'C-c c T' で書き込めるように設定してみた。これで Dropboxrsync / Unison などで同期する必要がなくていろいろ良い。

あとは追記型ではなくて都度新しくノートファイルを起こすタイプの設定も追加しておいた('C-c c n' と 'C-c c N' で呼び出し)。howm で 'C-c , c' するのと同じ感覚で作れる。こちらもリモートホスト上にファイル名で悩む必要なくさくっとノートを書いておくことができて良い(そのかわり howm みたいに grep できないけれど)。

2014年3月27日追記

リモートホスト上のファイルへの保存の方を良く使うので、'C-c c' の後のキーは小文字の方をリモートに、大文字の方をローカルに変更。

[ 3月25日全て ]

2014年6月19日 (木)

今日のさえずり: 相変わらず「すり合わせ」という会議名気持ち悪い

2014年06月19日

[ 6月19日全て ]

2014年6月20日 (金)

今日のさえずり: ボスすみません! figma 江頭2:50 はやっぱり NG もらいました!

2014年06月20日

naney:14459672071

[ 6月20日全て ]

2014年6月23日 (月)

rsync --link-dest でスナップショットをとる

バックアップには 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);
[ 6月23日全て ]

2015年4月4日 (土)

13インチ MacBook Pro Retina Early 2015 買った

naney:17026016921

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 を使うのは初めて。

13インチ MacBook Pro Retina Early 2015 の選定

ThinkPad X31ThinkPad 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 かでガツンと前の環境を持ってきていたんだけれど、今回はいろいろ見直しながら移していくつもり。

[ 4月4日全て ]

2015年4月13日 (月)

OS X でのフォルダ同期ツールを探している

MacBook Pro 上のフォルダと AirMac Time Capsule 上の Data フォルダを同期したい。あと同様に外付け HDD (FAT32) とも同期させたい。OS X 用の良いツールが無いかな? 無ければ地味に rsync かな。

あとちょっとトリッキーな操作をしないとバックアップ先での Time Machine 容量制限をかけられないことを知ってどうしようかと思っているところ。

[ 4月13日全て ]

2015年5月7日 (木)

今日のさえずり: AirMac Time Capsule に mount.cifs してるんだけれど遅い

2015年05月07日

[ 5月7日全て ]

2016年1月3日 (日)

ようやく ThinkPad X200 のホームディレクトリの全データを MacBook Pro にコピー

昨年4月に注文した MacBook Pro が届いてメイン端末を ThinkPad X200 (Debian GNU/Linux) から変更しました。

Emacs・KeePassX・UnisonGIMPdigiKam・VLC などを入れたところで Debian GNU/Linux 上でやっていたことはほぼ OS X 上でもできるようになり環境自体は移行完了。ただ古くから秘伝のタレのようにコピーしていたホームディレクトリはまだ ThinkPad X200 に残ったままでした。

デジカメで撮った写真動画rsyncUnison などで昨年少しずつ同期したりオリジナルデータを Dropbox 経由で同期したりしてから整理するなどして、ようやくホームディレクトリが 50GB を切ったので残りを全部まとめて MacBook Pro 側にコピーできるかなという状況になりました。

なので昨晩ようやく rsync でホームディレクトリをまるごと転送を実行。何度やっても更新されていないのに転送を繰り返すファイルがあって何だろうと思ったら、大文字小文字違いのファイルやディレクトリが Debian GNU/Linux 側にあったという落ちでした(適宜改名等して対応)。

整理は終わってないですが、とりあえず ThinkPad X200 が死んでデータ復旧が面倒になる自体は避けられるようになって一安心。年末年始休暇で1つ大仕事が終わって満足です。

今日のさえずり: 今年最初のアイカツ! 活動

2016年01月03日

[ 1月3日全て ]

2016年10月16日 (日)

今日のさえずり: 日本語ファイル名のファイルを作るの抵抗が無くなってきた

2016年10月16日

[ 10月16日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィの SNS の企画開発を行うグループでマネージャー・プロダクトオーナーをしています。CS 向上・ユーザーサポート・健全化などにも取り組んでいます。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.07141s / load averages: 0.67, 0.69, 0.66
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker