Syncthing : ファイル/ディレクトリの同期2026/02/04 |
|
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
# 13行目 : 以下のように変更
<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>
# 55行目 : 下行は削除
<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] | [Add Folder] をクリックして、同期するフォルダーを追加します。 |
|
| [10] | 同期したいフォルダーのパスやラベルを入力し、[Sharing] タブへ移動します。 |
|
| [11] | 同期対象のホストにチェックを入れて [Save] します。 |
|
| [12] | 以上で同期の設定は完了です。両方のホストでファイルを 追加/削除 して、正常に同期されているか確認しておくとよいでしょう。 |
|
|
|