CentOS Stream 9
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 をインストールします。
# EPEL からインストール

[root@dlp ~]#
dnf --enablerepo=epel -y install syncthing python3-bcrypt
[2] 任意の一般ユーザーで Syncthing を設定して起動します。
全ホストで同様の設定をします。
[cent@dlp ~]$
systemctl --user start syncthing

[cent@dlp ~]$
systemctl --user stop syncthing
# パスワード生成

[cent@dlp ~]$
python3 -c 'import bcrypt, getpass; print(bcrypt.hashpw(getpass.getpass().encode(), bcrypt.gensalt()).decode())'

Password:
$2b$12$RXw/VJ1vBm.....
[cent@dlp ~]$
vi ~/.local/state/syncthing/config.xml

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

[cent@dlp ~]$
systemctl --user start syncthing

[3] Firewalld 稼働中の場合は、サービスポートの許可が必要です。
[root@dlp ~]#
firewall-cmd --add-port=8384/tcp

success
[root@dlp ~]#
firewall-cmd --runtime-to-permanent

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