User Tools

Site Tools


syncthing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
syncthing [2020/04/07 11:54]
sdbs
syncthing [2020/10/04 12:26] (current)
sdbs [External HDDs] add link
Line 17: Line 17:
 Its //primary// use-case is when a single person has more computers, and wants to keep some folders synchronized on all of them. Its //primary// use-case is when a single person has more computers, and wants to keep some folders synchronized on all of them.
  
-What we use it for, however, is general data sharing - there's semi-public Syncthing folders (listed below). It works well for common (audio, video) files and projects, for sharing essential software packages, and for community-powered backups as well. ** For local sync there is no need for internet, local network is enough.**+=== /-\ use-case ===
  
 +What we use it for, however, is general data sharing - there's semi-public Syncthing folders (listed below). It works well for common (audio, video) files and projects, for sharing essential software packages, and for community-powered backups as well. Also for local (LAN) sync - there is no need for internet, local network is enough.
  
 +**WARNING: Because Syncthing wasn't really meant for this sort of use, it requires a bit of carefulness on part of everyone involved. There's no authentication, no permissions, and by default no [[syncthing#versioning|file versioning]]. It's not too easy to mess up accidentally, but if you do, it's not pretty.**
 ===== How? ===== ===== How? =====
  
Line 30: Line 32:
 ===== Advanced stuff ===== ===== Advanced stuff =====
  
-==== Introducer Mode ==== 
- 
-FIXME 
  
 ==== Send / Receive Only ==== ==== Send / Receive Only ====
-Send Receive Only are setting folder behaviour on device >+Send Only & Receive Only limit the folder/file changes either received or sent from the current machine.
  
 === Send Only Folder === === Send Only Folder ===
   - All changes from other devices in the cluster are ignored.    - All changes from other devices in the cluster are ignored. 
-  - If it becomes out of sync, a red “Override Changes” button will override **any changes made to files through whole cluster** will be overwritten by the version on this hostany files that don’t exist on this host will be deleted, and so on.+    - If the folder gets out of sync (because of changes made elsewhere), a red “Override Changes” button will override **any changes made to files through whole cluster**, which will be overwritten by the version on this host (any files that don’t exist on this host will be deleted, and so on).
   - Good as master for backups.   - Good as master for backups.
  
 === Receive Only Folder === === Receive Only Folder ===
-  - Local changes are not distributed to other devices. +  - Local changes are not sent to other devices.
   - Good as slave for backups.   - Good as slave for backups.
  
 ==== Versioning ==== ==== Versioning ====
-FIXME+The default behavior is that Syncthing keeps no history of synced files.
  
 +This is generally what you want, as it saves space on your machine, but it can cause data loss, in case someone else accidentally deletes/modified a file on their machine.
 +
 +Syncthing, in typical unix neckbeard fashion, has several different modes of file versioning:
 +
 +=== Trash Can File Versioning ===
 +> This versioning strategy emulates the common “trash can” approach. When a file is deleted or replaced due to a change on a remote device, it is a moved to the trash can in the ''.stversions'' folder. If a file with the same name was already in the trash can it is replaced.
 +> A configuration option is available to clean the trash can from files older than a specified number of days.
 +
 +=== Simple File Versioning ===
 +
 +>With “Simple File Versioning” files are moved to the ''.stversions'' folder (inside your shared folder) when replaced or deleted on a remote device. This option also takes a value in an input titled “Keep Versions” which tells Syncthing how many old versions of the file it should keep.
 +
 +=== Other modes and more detailed info ===
 +
 +https://docs.syncthing.net/users/versioning.html
 ==== External HDDs ==== ==== External HDDs ====
 You can use syncthing with external harddrives. That is good for backup clusters, huge projects, etc. You can use syncthing with external harddrives. That is good for backup clusters, huge projects, etc.
  
 On windows it helps to set fixed drive letter to your hardrive, so there are no mismatches. On windows it helps to set fixed drive letter to your hardrive, so there are no mismatches.
 +
 +
 >When assigning your drive letter, make sure to choose a letter toward the end of the alphabet list. For example, X, Y, or Z — otherwise Windows has the tendency to eventually assign a different letter. Also, keep in mind that it will only be the assigned letter on the computer you changed it on. If you take your external drive to a different PC, Windows will give it a different dynamic letter.((From https://www.groovypost.com/howto/assign-permanent-letter-removable-usb-drive-windows/)) >When assigning your drive letter, make sure to choose a letter toward the end of the alphabet list. For example, X, Y, or Z — otherwise Windows has the tendency to eventually assign a different letter. Also, keep in mind that it will only be the assigned letter on the computer you changed it on. If you take your external drive to a different PC, Windows will give it a different dynamic letter.((From https://www.groovypost.com/howto/assign-permanent-letter-removable-usb-drive-windows/))
  
  
 +https://www.groovypost.com/howto/assign-permanent-letter-removable-usb-drive-windows/
 ===== QnA ===== ===== QnA =====
 +
 +==== Common Gotchas ====
 +
 +=== folder marker missing // .stfolder blues ===
 +
 +Syncthing marks each synced folder with an empty, hidden directory in that folder, called ''.stfolder''. This tells Syncthing everything is in order, and this is really the folder which it should be modifying/uploading changes from.
 +
 +If that (empty) folder is deleted, Syncthing will vomit with a similar error message:
 +
 +  2020-04-02 21:12:50: Error on folder "KSX_OUT" (ksx-out): folder marker missing (this indicates potential data loss, search docs/forum to get information about how to proceed)
 +
 +This can happen for a couple of reasons:
 +
 +  * Actual potential data loss - you should [[S.M.A.R.T.|check your disks]] and remember where you keep your backups.
 +  * Some sort of "empty folder cleanup" thing ran on the folder and deleted ''.stfolder''.
 +    * If that's the case, and it's really the only thing that happened, it's safe to simply re-create ''.stfolder'' (by right-clicking and selecting "New Folder") in that directory.
 +    * If not, and you still do this, you've just successfully corrupted everyone else's Syncthing folders with your broken data.
 +  * Entire folder is missing. See [[syncthing#moving_syncthing_folders|Moving Syncthing Folders?]]
 ==== CPU ==== ==== CPU ====
  
 >Hashing, compression and encryption cost CPU time. Also, using the GUI causes a certain amount of extra CPU usage to calculate the summary data it presents. Note however that once things are in sync CPU usage should be negligible. >Hashing, compression and encryption cost CPU time. Also, using the GUI causes a certain amount of extra CPU usage to calculate the summary data it presents. Note however that once things are in sync CPU usage should be negligible.
  
->>To minimize the impact of this, Syncthing attempts to lower the process priority when starting up.+>To minimize the impact of this, Syncthing attempts to lower the process priority when starting up.
  
->>>To further limit the amount of CPU used when syncing and scanning, set the environment variable GOMAXPROCS to the maximum number of CPU cores Syncthing should use at any given moment. For example, GOMAXPROCS=2 on a machine with four cores will limit Syncthing to no more than half the system’s CPU power.+>To further limit the amount of CPU used when syncing and scanning, set the environment variable GOMAXPROCS to the maximum number of CPU cores Syncthing should use at any given moment. For example, GOMAXPROCS=2 on a machine with four cores will limit Syncthing to no more than half the system’s CPU power.
  
 ==== Whitelisting files ==== ==== Whitelisting files ====
    
 +FIXME
 ==== Moving syncthing folders? ==== ==== Moving syncthing folders? ====
  
- +FIXME
 ===== Semi-public Syncthing folders ===== ===== Semi-public Syncthing folders =====
  
 See [[internal:syncthing]] See [[internal:syncthing]]
syncthing.1586253270.txt.gz · Last modified: 2020/04/07 11:54 by sdbs