Syncthing开源免费跨平台的文件同步工具部署

docker部署

1
2
3
4
5
6
7
8
9
docker run -d \
  --name syncthing \
  --restart unless-stopped \
  --network host \
  -v /mnt/sata/syncthing/config:/var/syncthing/config \
  -v /mnt/sata/syncthing/data:/mnt/sata \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  syncthing/syncthing

log指定大小单个文件最大max-size,最多几个文件max-file

部署安装方式

下载syncthing-linux-amd64-vx.xx.xx.tar.gz

1
wget https://github.com/syncthing/syncthing/releases/download/v1.29.3/syncthing-linux-amd64-v1.29.3.tar.gz

官网地址:https://syncthing.net/downloads/

解压

将解压的文件夹命名为syncthing

1
tar -zxf syncthing-linux-amd64-v1.29.3.tar.gz -C /root/

删除压缩包

1
rm -rf syncthing-linux-amd64-v1.29.3.tar.gz

改文件名

1
mv ~/syncthing-linux-amd64-v1.29.3 ~/syncthing

设置服务

创建一个服务

1
echo '1' > /etc/systemd/system/[email protected]

写入服务

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
cat <<EOF > /etc/systemd/system/[email protected]
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
StartLimitIntervalSec=60
StartLimitBurst=4

[Service]
User=%i
ExecStart=/root/syncthing/syncthing serve --no-browser --no-restart --logflags=0 --gui-address=0.0.0.0:8384
Restart=on-failure
RestartSec=1
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

# Hardening

ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

# Elevated permissions to sync ownership (disabled by default),

# see https://docs.syncthing.net/advanced/folder-sync-ownership

#AmbientCapabilities=CAP_CHOWN CAP_FOWNER

[Install]
WantedBy=multi-user.target
EOF

启动服务

1
2
3
4
5
chmod +x /etc/systemd/system/[email protected]
systemctl daemon-reload
systemctl enable [email protected]
systemctl start [email protected]
systemctl status [email protected]
使用 Hugo 构建
主题 StackJimmy 设计