目标:安装syncthing后配置文件存储在外接硬盘中防止丢失,能开机以非管理员账户自动运行
安装
下载链接:https://github.com/syncthing/syncthing/releases/ 找到目标平台的最新安装包
wget https://github.com/syncthing/syncthing/releases/download/v1.3.2/syncthing-linux-arm64-v1.3.2.tar.gz
tar zxvf syncthing-linux-arm64-v1.3.2.tar.gz
sudo cp syncthing-linux-arm64-v1.3.2/syncthing /usr/bin/
syncthing -generate="外接硬盘配置文件路径" #Generate key and config in specified dir, then exit
配置开机启动
安装包解压后自带服务配置文件,因为想指定目录存储配置文件,所以要稍微调整下
vim syncthing-linux-arm64-v1.3.2/etc/linux-systemd/system/syncthing@.service
[Service]
User=%i
ExecStart=/usr/bin/syncthing -home="外接硬盘配置文件路径" -no-browser -no-restart -logflags=0
sudo cp syncthing-linux-arm64-v1.3.2/etc/linux-systemd/system/syncthing@.service /etc/systemd/system/
mv /etc/systemd/system/syncthing@.service /etc/systemd/system/syncthing@普通用户名.service
systemctl enable syncthing@普通用户名.service #添加开机启动
配置远程访问
由于 syncthing 默认只允许本地访问管理界面,为了实现通过互联网访问管理界面,需要修改 syncthing 的配置文件:
vim 外接硬盘配置文件路径/config.xml
将配置文件中的
systemctl start syncthing@普通用户名.service #启动
systemctl status syncthing@普通用户名.service #检查是否报错
现在可以用浏览器访问 IP:8384 打开管理界面,都是图形界面 就不再细说
注意事项:
syncthing解压后自带的服务配置文件syncthing-linux-arm64-v1.3.2/etc/linux-systemd/目录下的文件夹 system 和 user 分别对应/etc/systemd/目录下system和user
- The user instance stuff with
--user
is intended to be used on a desktop computer. Syncthing starts when you log in ; and it stops when you log out.e.g.:systemctl --user start syncthing.service
- The system instance stuff is useful for a server. Syncthing then starts during the normal bootup sequence and stays running. To be able to specify the user, there is the templating stuff with
@
, e.g.:systemctl start syncthing@hans.service
.
syncthing@普通用户名.service 检查后如果发现错误
Failed to start Syncthing - Open Source Continuous File Synchronization for
- 配置文件所在目录 对应的用户是否有权限 可用 chmod 777 配置文件所在目录
- 参考第1条注意事项 将system和user下的服务配置文件搞混
journalctl -xe
检查日志
所同步的文件夹对应的普通用户必须拥有读写权限,
chown -R 普通用户名 同步的文件目录 #将目录的所有者改为对应的用户
chgrp -R users 同步的文件目录 #将目录的所有者组改为普通用户组
开启SSL
在配置文件所在的目录,有https-cert.pem和https-key.pem,可以将它们替换为申请到的证书和对应的私钥。cert.pem和key.pem是用于文件同步协议的证书,不要替换。如果证书过期需要变更,替换文件后还要重启syncthing,注意程序启动的时候会检查证书的公钥与私钥是否配对,有问题的会生成自签名的证书