FreeFileSyncでフォルダを同期する

前の記事でGoogleドライブをローカル風に表示するアプリを紹介しましたが、オンライン時限定ということで、オフラインでも使いたい場合は、ミラーリングしてバックアップして同期する必要があります。ファイルが少ないなら手動でやるのが簡単ですが、ファイルが少し多くなると手動も面倒です。その場合は、コマンド操作で同期するか、GUIアプリを使って視覚的に操作するかになります。そんな訳で、ミラーリングGUIアプリの定番であるFreeFileSyncを使ってみます。

まず、サイトに行ってプログラムをダウンロードします。



クロスプラットフォームのアプリなので、Windowsだとかmacなどありますが、Linuxのをダウンロードして下さい。ダウンロードしたらインストールします。端末から行きます。

tar xvzf ~/ダウンロード/FreeFileSync*.tar.gz -C /tmp/ && sudo mv /tmp/FreeFileSync* /opt/FreeFileSync && sudo chown -R root:root /opt/FreeFileSync && sudo unzip -d /opt/FreeFileSync/ /opt/FreeFileSync/Resources.zip

青文字は任意の場所(プログラムをダウンロードした場所)です。私の場合は、homeのダウンロードフォルダにダウンロードしたので、「~/ダウンロード」になります。

インストールが済んだら、アプリケーションランチャーに登録します。私の場合は、Mintなので、ミントのメニューアイコンを右クリックしてアプリケーションの編集から登録します。

スクリーンショット_2019-11-19_11-57-592019-11-19_11-13

変な感じで設定してしまいましたが、後で編集できるので神経質にならなくてもいいです。

名前「FreeFileSync
コマンド「/opt/FreeFileSync/FreeFileSync %f」
コメント「フォルダーの比較とか同期とか
アイコンの場所
/opt/FreeFileSync/Resources/FreeFileSync.png

登録できたらアプリケーションメニューに表示されるようになったと思いますが、表示内容が変だったりエラーが出る場合はランチャーの編集から調整できます。

2019-11-19_11-18

ミラーリングするローカルフォルダを作成したら、起動してみましょう。私の場合は、homeにGoogleドライブというフォルダを作成しました。ちなみに、FreeFileSyncは、ローカルフォルダにマウントしたGoogleドライブだけじゃなく、直接Googleドライブを読み込むことも出来ますが、体感としてはマウントしたファイルを読み込むよりもかなり時間がかかります。私の場合、マウントしたフォルダはほんの数秒で比較が完了しますが、直接読み込むと5分くらい待たされます。google-drive-ocamlfuseをインストールしないでファイル操作したい場合は、FreeFileSyncだけでも同期できますが、時間がかかるということは考慮しておいて下さい。

2019-11-19_11-24

二画面ファイラになっていますが、この右左の表示は間違わないで下さい。設定にもよりますが、基本的には左のフォルダ、ファイルがメインのフォルダ、ファイル(コピー元)になるので、右のフォルダやファイル(コピー先)は自動削除の対象になります。上のアイコンメニューに同期設定があるので設定します。「両方向」「ミラー」「更新」「カスタム」を選択できます。左右を入れ替えたい場合は、フォルダ選択窓の間にあるあっちこっち矢印アイコンをクリックすると左右が入れ替わります。

「両方向」削除されるファイルやフォルダはなく、両フォルダーとも同じ中身になる。
「ミラー」左から右にコピーする。右のディレクトリにしかないものは無情に削除される。
「更新」左から右にコピーするが、ミラーと違って右のディレクトリにしかないものでも削除しない。

其々のルールをカスタム設定したい場合は同期の設定からカスタマイズできます。比較、フィルター、同期の項目が設定できます。自動削除されたファイルなどの管理をしたい場合は、バージョン管理から設定できます。間違って削除されたファイルを復旧したい場合に役に立ちます。

2019-11-19_12-53


同期から除外したいファイル等がある場合は、漏斗アイコンをクリックしてフィルターをセットすることも出来ます。準備が出来たら同期処理を実行するだけです。それなりに時間もかかります。

2019-11-19_11-28

設定の保存は左カラムのフロッピーアイコンで保存できます。

もし、勝手に同期(自動実行)して欲しい時は、一括ジョブ保存からバッチファイルを作成します。完了時の動作-進捗ダイアログを閉じるに設定して、ログ保存のチェックを外して「別名保存」して、バッチファイルの保存先を選択します。FreeFileSyncと一緒にインストールされたRealTimeSyncを起動します。このアプリは、定期的にバッチファイルを実行してくれるアプリです。

2019-11-19_13-08

監視するフォルダを指定して、コマンド欄に先ほど作成したバッチファイルをドラッグすると自動的にコマンドラインが追加されます。同期の間隔も指定して開始すれば常駐して監視してくれます。ただし、この自動同期はRealTimeSyncが起動されている間だけ有効です。もし、ログイン時に自動同期したい場合とかは、FreeFileSyncを自動起動させて、先程のバッチファイルを実行するように設定する必要があると思うのですが、それは各自試してみて下さい。