Придумал, куда можно применить syncthing - буду синхронизировать папку с образами DVD на рабочем компьютере и на серверах-виртуализаторах.
Рабочий компьютер под убунтой 16.10, syncthing будет запускаться только когда я на нём работаю, так что всё просто, всё по мурзилке с их же сайта:
На серверах немного сложнее - хочется, чтобы сервис стартовал при запуске компьютера и запускался не от рута. На серверах, кстати, Centos 6 и 7 версий, syncthing решил ставить в /opt и обновлять руками при необходимости.Рабочий компьютер под убунтой 16.10, syncthing будет запускаться только когда я на нём работаю, так что всё просто, всё по мурзилке с их же сайта:
# Add the release PGP keys: curl -s https://syncthing.net/release-key.txt | sudo apt-key add - # Add the "release" channel to your APT sources: echo "deb http://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list # Update and install syncthing: sudo apt-get update sudo apt-get install syncthing
И автостарт при логине по их же рекомендациям:
- Launch the program ‘Startup Applications’.
- Click ‘Add’.
- Fill out the form:
- Name: Syncthing
- Command:
/usr/bin/syncthing -no-browser -home="/home/tuggrik/.config/syncthing"
1. Скачаем и распакуем программу в /opt/syncthing
2. Создаём специального юзера
adduser --system --home /opt/syncthing synct
chown -R synct.synct /opt/syncthing
3. и готовим каталог для синхронизации
mkdir /opt/iso
chgrp -R synct /opt/iso
chmod -R g+w /opt/iso
4a. в случае с Centos 7 и systemd соответственно делаем по инструкции:
- копируем /opt/syncthing/etc/linux-systemd/system/syncthing@.service в /etc/systemd/system
systemctl enable syncthing@synct.service
управление сервисом путём
systemctl start|stop|status syncthing@synct.service
cat /etc/init/syncthing.conf
description "Syncthing P2P sync service"после чего
start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]
env STNORESTART=yes
env HOME=/opt/syncthing
script
/bin/su synct -c "/opt/syncthing/syncthing -no-browser -home=/opt/syncthing/.config/syncthing/"
end script
respawn
initctl reload-configuration
управление сервисом с помощью
initctl start|stop|status syncthing
5а. чтобы было удобно управлять сервисами syncthing, исправляем строку в
/opt/syncthing/.config/syncthing/config.xml
0.0.0.0:8384
устанавливаем в веб-интерфейсе логин и пароль для него
5б. либо можно делать при необходимости туннель средствами ssh
ssh -L 9090:127.0.0.1:8384 root@server
и рулить через браузер по адресу http://127.0.0.1:9090