FreeBSD 14
Sponsored Link

Syncthing : ファイル/ディレクトリの同期2025/03/07

 

Syncthing によるファイル同期の設定です。

当例では [dlp.srv.world] と [node01.srv.world] 間で、任意のディレクトリ配下を同期するよう設定します。

+----------------------+          |          +----------------------+
|     dlp.srv.world    |10.0.0.30 | 10.0.0.51|   node01.srv.world   |
|                      +----------+----------+                      |
|                      |   <------------->   |                      |
+----------------------+        sync         +----------------------+

[1] 全ホストで Syncthing をインストールします。
root@dlp:~ #
pkg install -y syncthing py311-bcrypt
[2] Syncthing を設定して起動します。全ホストで同様の設定をします。
root@dlp:~ #
service syncthing enable

root@dlp:~ #
service syncthing start

root@dlp:~ #
service syncthing stop
# パスワード生成

root@dlp:~ #
python3.11 -c 'import bcrypt, getpass; print(bcrypt.hashpw(getpass.getpass().encode(), bcrypt.gensalt()).decode())'

Password:
$2b$12$RXw/VJ1vBm.....
root@dlp:~ #
vi /usr/local/etc/syncthing/config.xml
# 2行目 : 同期するフォルダーを任意のパスに変更
<folder id="default" label="Default Folder" path="/var/Sync" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="tru    e" fsWatcherDelayS="10" fsWatcherTimeoutS="0" ignorePerms="false" autoNormalize="true">

    # 54行目 : 以下のように変更
    <gui enabled="true" tls="true" debugging="false" sendBasicAuthPrompt="false">
        # リスンするアドレスに変更
        <address>10.0.0.30:8384</address>
        # 管理ユーザー名 (任意の名称) と生成したパスワードを設定
        <user>serverworld</user>
        <password>$2b$12$RXw/VJ1vBm.....</password>
        <apikey>cFdXMg.....</apikey>

        # 95行目 : 下行は削除
        <unackedNotificationID>authenticationUserAndPassword</unackedNotificationID>

root@dlp:~ #
mkdir /var/Sync

root@dlp:~ #
chown syncthing:syncthing /var/Sync

root@dlp:~ #
service syncthing start

[3] 任意のクライアントコンピューターから、いずれかの Syncthing ホストの設定したアドレスへアクセスして、設定した管理ユーザーでログインします。
[4] [Actions] - [Show ID] をクリックします。
[5] 表示された接続用 ID をコピーしておきます。
[6] Syncthing を設定した別のホストへログインして、右下の [Add Remote Device] をクリックします。
[7] [Device ID] のフィールドに、他ホストで表示された 接続用 ID を入力し、[Device Name] には同期するホストの名称 (任意の名称) を入力して [Save] ボタンをクリックします。
[8] 接続用 ID を確認したホストへ戻ると、接続要求があった旨が表示されているので、[Add Device] をクリックして、接続するホストを追加します。
[9] 接続要求があったホストが表示されます。ここで、[Sharing] タブに移動します。
[10] デフォルトフォルダーを同期するよう、接続要求があったホストにチェックを入れて [Save] ボタンをクリックします。
[11] 再び接続要求をしたホストに戻ると、同期要求があった旨が表示されているので、[Share] をクリックして、同期するフォルダーを追加します。
[12] 以上で同期の設定は完了です。両方のホストでファイルを 追加/削除 して、正常に同期されているか確認しておくとよいでしょう。
関連コンテンツ