Ich wollte Dateien auf mehreren PCs ohne "Git Push" teilen, also habe ich "Syncthing" ausprobiert, das von der Firma eingeführt wurde!
Offizielles Repository https://github.com/syncthing/syncthing/
Syncthing ist ein kontinuierliches Dateisynchronisierungsprogramm. Es synchronisiert Dateien zwischen zwei oder mehr Computern. (Aus dem offiziellen Repository)
Wörtlich übersetzt heißt es: "Dateien zwischen zwei oder mehr PCs teilen."
Das Image ähnelt DropBox und OneDrive, aber im Gegensatz zu diesen werden die Dateien nicht auf den Server hochgeladen.
Ab März 2020 werden folgende unterstützt.
Ich habe einen Mac und Ubuntu zur Hand, also werde ich sie mit diesen beiden ausprobieren. Zuerst werde ich das Einstellungsverfahren mit der GUI beschreiben, aber da es anscheinend nur mit der CLI möglich ist, werde ich es später beschreiben.
Ubuntu
Referenz https://apt.syncthing.net/
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt update && sudo apt install syncthing
#Ausführen → Browser starten
syncthing
Mac
brew install syncthing
#Ausführen → Browser starten
syncthing
Ich habe es nicht bestätigt, da es keine Umgebung gibt, aber es scheint, dass die Binärinstallation wie auf der folgenden Site gezeigt durchgeführt werden kann. https://computingforgeeks.com/install-and-configure-syncthing-on-centos-linux/
Android
Ich habe dies nicht bestätigt, da es keine Umgebung gibt, aber es gibt eine App im Store. https://play.google.com/store/apps/details?id=com.nutomic.syncthingandroid&hl=ja
Wenn Sie den Befehl syncthing
ausführen, wird der Browser gestartet und der folgende Bildschirm angezeigt.
Wenn Sie den Befehl "syncthing" gemäß dem obigen Verfahren ausführen, ist die Synchronisierung nur möglich, wenn Sie die Konsole laufen lassen. Registrieren Sie sie daher als Dienst.
Ubuntu
sudo systemctl enable syncthing@${USER}.service
sudo systemctl start syncthing@${USER}.service
Mac
brew services start syncthing
Auf dem Mac wird Syncthing gestartet, aber ich kann die Web-GUI nicht sehen ... Wenn es bereits eingestellt ist, wird die Synchronisation ordnungsgemäß durchgeführt.
Wenn Sie die Web-GUI auf Ihrem Mac starten möchten, verwenden Sie den separaten Befehl "syncthing -browser-only".
Es sind die folgenden Schritte zum Synchronisieren erforderlich.
Da 1. abgeschlossen ist, werden wir aus 2 erklären.
Unten rechts auf dem im Browser angezeigten Bildschirm befindet sich die Schaltfläche "Verbundenes Gerät hinzufügen". Drücken Sie sie. Dann wird das folgende Popup angezeigt.
Wenn sich die zu synchronisierenden Geräte im selben Netzwerk befinden und syncsync
läuft
Die Geräte-ID des anderen Terminals wird automatisch angezeigt, sodass Sie sie einfach auswählen können.
Wenn sie nicht im selben Netzwerk vorhanden sind, müssen Sie die Geräte-ID ermitteln und eingeben.
Sie können die Geräte-ID überprüfen, indem Sie oben rechts auf dem Bildschirm Menü → ID anzeigen auswählen.
Stellen Sie die obigen Einstellungen für 2 Einheiten ein.
Dieses Mal werde ich versuchen, den Ordner "~ / github" von Ubuntu zu synchronisieren.
Auf der linken Seite des Synchronisierungsquellbrowsers befindet sich die Schaltfläche "Ordner hinzufügen". Drücken Sie sie also.
Dann wird das folgende Popup angezeigt. Geben Sie den Ordner, den Sie freigeben möchten, im Ordnernamen an. Ich war zufällig ein Ordner in meinem Home-Verzeichnis, also ist es in Ordnung, aber in anderen Fällen legen Sie auch den Ordnerpfad fest.
Notieren Sie sich diese Ordner-ID, da sie wichtig ist.
Im Popup befindet sich eine Registerkarte "Ignorierter Dateiname", sodass Sie Dateien ausschließen können, die Sie hier nicht freigeben möchten. Ich habe es direkt in der Konfigurationsdatei gemacht.
https://docs.syncthing.net/users/ignoring.html
Nehmen Sie die gleichen Einstellungen am Synchronisationsziel vor. Der Punkt ist, die "Ordner-ID" gleich zu machen.
Klicken Sie auf die Schaltfläche Bearbeiten des angeschlossenen Geräts.
Klicken Sie im angezeigten Popup auf "Freigeben", überprüfen Sie den Ordner, den Sie in "Ordner für dieses Gerät freigeben" freigeben möchten, und speichern Sie ihn.
Wenn die Synchronisationseinstellung erfolgreich ist, müssen Sie nur warten, bis die Synchronisation wie unten gezeigt beginnt!
Mit den Standardeinstellungen können Sie den Web-GUI-Bildschirm nur von localhost aus öffnen. Wenn Sie die Einstellungen so ändern, dass die Web-GUI von außen angezeigt werden kann, können Sie die Einstellungen daher auch in einer Nur-CLI-Umgebung problemlos festlegen.
In einer öffentlichen Umgebung wie VPS oder EC2 kann jedoch jeder die Einstellungen ändern. Stellen Sie daher sicher, dass Sie ein Kennwort festlegen.
Der Speicherort der Einstellungsdatei ist je nach Umgebung unterschiedlich.
~/.config/syncthing/config.xml
~/Library/ApplicationSupport/Syncthing/config.xml
Da es eine GUI-Einstellung gibt, ändern Sie diese wie folgt.
before
<gui enabled="true" tls="false" debugging="false">
<address>127.0.0.1:8384</address>
<apikey>aNw6DrLYWukHvLK22Ed7M5hoR5tixPJG</apikey>
<theme>dark</theme>
</gui>
after
<gui enabled="true" tls="false" debugging="false">
<!--0 hier.0.0.Auf 0 festgelegt-->
<address>0.0.0.0:8384</address>
<apikey>aNw6DrLYWukHvLK22Ed7M5hoR5tixPJG</apikey>
<theme>dark</theme>
</gui>
Wenn die Synchronisierung ausgeführt wird, starten Sie die Synchronisierung neu.
Jetzt können Sie es von außen sehen, aber wie oben erwähnt, befindet es sich in einem öffentlichen Zustand, sodass Sie eine Warnung erhalten.
Klicken Sie unten rechts auf die Schaltfläche "Einstellungen" und legen Sie den Benutzer und das Kennwort der GUI fest.
Es war auch möglich, es vollständig in der Befehlszeile festzulegen, indem einfach "config.xml" festgelegt wurde. Es war jedoch etwas ärgerlich, da ich das XML direkt bearbeiten muss und es auf allen mehreren Terminals beschrieben werden muss.
Obwohl es hell ist, werde ich die Einstellmethode beschreiben.
Der Installationsvorgang ist genau der gleiche wie oben.
Ich denke, es gibt ein "Gerät" -Tag, also kopieren Sie diesen Inhalt und setzen Sie ihn direkt darunter. Legen Sie die ID des Geräts fest, das Sie mit der ID des Geräts synchronisieren möchten.
<device id="XXXXXXXXX" name="xxx-ubuntu" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
<address>dynamic</address>
<paused>false</paused>
<autoAcceptFolders>false</autoAcceptFolders>
<maxSendKbps>0</maxSendKbps>
<maxRecvKbps>0</maxRecvKbps>
<maxRequestKiB>0</maxRequestKiB>
</device>
Die Geräte-ID ist das Protokoll, das angezeigt wird, wenn der Befehl "syncthing" ausgeführt wird, der WEB-Bildschirm im Fall der GUI und der Dienst (Dämon) im Fall der Ausführung. Überprüfen Sie anhand des folgenden Befehls.
syncthing -device-id
Oben in config.xml
befindet sich das Tagfolder id = "default"
. Kopieren Sie also alles und legen Sie es direkt darunter fest.
<folder id="default" label="Default Folder" path="/Users/xxxx/Sync" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="XXXXXXXXX" introducedBy=""></device>
<minDiskFree unit="%">1</minDiskFree>
<versioning></versioning>
<copiers>0</copiers>
<pullerMaxPendingKiB>0</pullerMaxPendingKiB>
<hashers>0</hashers>
<order>random</order>
<ignoreDelete>false</ignoreDelete>
<scanProgressIntervalS>0</scanProgressIntervalS>
<pullerPauseS>0</pullerPauseS>
<maxConflicts>-1</maxConflicts>
<disableSparseFiles>false</disableSparseFiles>
<disableTempIndexes>false</disableTempIndexes>
<paused>false</paused>
<weakHashThresholdPct>25</weakHashThresholdPct>
<markerName>.stfolder</markerName>
<copyOwnershipFromParent>false</copyOwnershipFromParent>
<modTimeWindowS>0</modTimeWindowS>
</folder>
Schreiben Sie den folgenden Teil der kopierten Einstellungen neu.
Starten Sie nach dem Ändern der Einstellungen die Synchronisierung neu.
Einstellungsbeispiel
example
<folder id="github-folder-id" label="github" path="/Users/xxxxx/github" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="Geräte-ID 1" introducedBy=""></device>
<device id="Geräte-ID 2" introducedBy=""></device>
<device id="Geräte-ID 3" introducedBy=""></device>
<minDiskFree unit="%">1</minDiskFree>
<versioning></versioning>
<copiers>0</copiers>
<pullerMaxPendingKiB>0</pullerMaxPendingKiB>
<hashers>0</hashers>
<order>random</order>
<ignoreDelete>false</ignoreDelete>
<scanProgressIntervalS>0</scanProgressIntervalS>
<pullerPauseS>0</pullerPauseS>
<maxConflicts>-1</maxConflicts>
<disableSparseFiles>false</disableSparseFiles>
<disableTempIndexes>false</disableTempIndexes>
<paused>false</paused>
<weakHashThresholdPct>25</weakHashThresholdPct>
<markerName>.stfolder</markerName>
<copyOwnershipFromParent>false</copyOwnershipFromParent>
<modTimeWindowS>0</modTimeWindowS>
</folder>
das ist alles. Lassen Sie es uns für eine Weile verwenden und seine Verwendbarkeit überprüfen.
Recommended Posts