furtest f618932584 synchroniser : add arbitrary synchronisation arguments
Add the option to give arbitrary arguments to the unison call.
These arguments must be passed as a list to sync and will be given to
unison as is.
This is a prerequisite for using the backup system of unison as the
arguments for backup will only be given when synchronising the files and
not the links.
2026-01-07 23:27:48 +01:00
2025-06-14 16:14:28 +02:00
2026-01-04 19:22:04 +01:00
2025-06-14 19:22:18 +02:00
2026-01-02 10:45:00 +01:00

Unisync is a data synchronisation tool written in python and based on unison.
I couldn't find a tool to fulfill the requirements I had for a synchronisation tool so I am creating my own as a wrapper around unison.

Prerequisite

You need to have the following tools installed.

Locally :

  • unison
  • sshfs
  • nnn

Remotely :

  • unison
  • cleanlinks and lndir (Should be in xutils-dev when using apt)

Goal

Unisync purpose is to keep personal data synchronised between multiple machines without needing to have all the data present an all the machines at the same time. For example you might not need to have your movies on your laptop but still want them on your desktop at home or you might want to keep your old pictures only on a server. Unisync requires you to have a "server" (like a NAS at home) that will store all your data allowing you to only copy what you need when you need it.
The issue is that you need to know what data is stored on the server to avoid conflict if creating duplicate files or folders. To address this unisync places a symlink for every file you do not wish to keep locally and allows you to mount the remote filesystem (using sshfs) allowing you to access files that aren't synchronised.

Developement

Unisync was at first a simple bash script but as it grew more complex I started struggling to maintain it which is why I am porting it to python. It will make everything more robust, easier to maintain and to add functionalities.
I am in the early stages of the developement process, this should be usable someday (hopefully).

Description
No description provided
Readme 285 KiB
Languages
Python 100%