今回はMutagenというものを使えばファイル同期が簡単にできたので、軽くまとめたいと思います。入門用の記事のつもりなので、詳しい仕様は下記リンクの公式ドキュメントを参照して下さい。
上手く使えば脱docker-syncもできます。
Mutagenとは
ファイル同期の設定やネットワーク転送の環境構築を手軽に行うためのツールです。最短だとコマンド一発で構築が行えます。
インストール
macOS
brewでインストールが出来ます。
brew install mutagen-io/mutagen/mutagen
その他OS
https://github.com/mutagen-io/mutagen/releases/latest
こちらのリンクからDLし、Pathを通す事で使えるようになるらしいです(未検証)
使い方
一番単純な使い方は下記のコマンドです。
mutagen sync create #{同期したいファイルパス1} #{同期したいファイルパス2}
同期したいファイルパスはドキュメントの中でalpha
、beta
と言われています。src
やdest
を使っていないのは双方向通信も行えるからです。(sourceも何もないので)
例
現状下記のディレクトリ構成があるとします。
$ tree . ├── fuga └── hoge └── foo.txt
同期の作成 sync create
この状態で下記コマンドを叩いてみます。
mutagen sync create --name test hoge fuga
--name test
として、この同期の環境にtest
と名前をつけています。後で止める際に楽だからです。
では、ディレクトリ構成を確認します。
$ tree . ├── fuga │ └── foo.txt └── hoge └── foo.txt
foo.txt
が同期されています。hoge
かfuga
ディレクトリの片方にファイルを追加しても、もう片方に同じファイルが同期されます。
同期の確認 sync list
作成した同期環境は sync list
で見ることができます
$ mutagen sync list Name: test Identifier: 21f14ac3-1ed6-4c3a-9be6-1914802156e3 Labels: None Alpha: URL: #{hogeの絶対パス} Connection state: Connected Beta: URL: #{fugaの絶対パス} Connection state: Connected Status: Watching for changes
同期の停止 sync terminate
では同期を止めてみます。
$ mutagen sync terminate test
先程のtest
という名前を指定することで止めています。名前をつけ忘れた場合はsync list
で表示される中のIdentifier
の値で指定します。
これで止まりました。mutagen list
で確認します。
$ mutagen sync list -------------------------------------------------------------------------------- No sessions found --------------------------------------------------------------------------------
これで最小限の操作はできるようになりました。
mutagenはDockerコンテナ間やSSH越しの同期で更に真価を発揮する(と思う)ので、次はそのやり方をまとめたいと思います。では。
- 作者: 三宅英明,大角祐介
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/06/06
- メディア: 単行本
- この商品を含むブログ (6件) を見る
参考
- Github
github.com - Twitterアカウント