Synecure
Synecure provides a command line program called sy that allows easy synchronization of files and directories over SSH between different machines. It is mostly a wrapper around bsync, which is itself based on the standard UNIX tool rsync.
This is beta software and comes with NO GUARANTEES that it will keep your data safe. It should not be used as backup solution.
Install
pip install synecure
Usage
# Sync local ~/directory with remote $HOME/directory on me@awesome.person
sy ~/directory -r me@awesome.person
# Sync current directory with the same path on me@awesome.person, port 2222
sy -r me@awesome.person -p 2222
# Register a remote under a short name
sy-config add me me@awesome.person -p 2222
# Synchronize to a named remote
sy -r me
# Synchronize the current directory to the last used remote (for that directory)
sy
By default, sy can take on any path within your $HOME and will set the corresponding path on the remote's $HOME. It is possible to change this behavior or synchronize paths outside of $HOME using the sy-config path command.
sy with no argument will sync the current directory using the last remote for that directory (you will need to use the -r flag the first time, but not subsequently).
Howto
Ignore files
Add a .bsync-ignore file in the root directory to sync with a filename or glob pattern on each line, and they will be ignored. It works more or less like .gitignore.
Putting .bsync-ignore files in subdirectories to ignore files in these subdirectories will unfortunately not work, so sy ~/x and sy ~/x/y may synchronize the contents of ~/x/y differently if both directories contain different .bsync-ignore files, or if one has an ignore file and the other does not.
Customize synchronization paths
To synchronize local /etc to remote /etcetera, for named remote desktop:
sy-config path add desktop /etc /etcetera
Obviously, this will only work if the remote user has the permissions to write to /etcetera. You can have multiple remotes for the same host with different users, if that helps.
To synchronize local ~/hello to remote ~/bonjour:
sy-config path add desktop ~/hello bonjour
Don't use ~ for the remote path, it will complete to the wrong thing.
To list available paths:
sy-config list
Sync local directories
sy-config add dropbox ~/Dropbox
Dry run
Use the -n flag to perform a "dry run": sy (well, bsync) will report all the transfers that would occur but it will not perform them.
Use --show-plan to get the sequence of commands that sy will run.
Metadata
Release files for synecure 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| synecure-0.1.10.tar.gz | 19.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synecure-0.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.7 kB
Release files / synecure-0.1.10.tar.gz
| Download URL | synecure-0.1.10.tar.gz |
|---|---|
| Size | 19.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e281c3fad2cc5b9deae7d0c63d90d8ae5fe151e2cf304f28e4713a305bcaf4b6
|
|
BLAKE2b-256 checksum How to use checksums |
4f7a349a5152d20d85c943a4ed716f4e1c2c7e6cecdaa076294cd276350e1332
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.4 CPython/3.9.0 Darwin/20.1.0
|
Release files / synecure-0.1.10-py3-none-any.whl
| Download URL | synecure-0.1.10-py3-none-any.whl |
|---|---|
| Size | 19.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e370f98ae06350f790108217413943a2c8a9a521d2607d5478cf6ce0095a67e
|
|
BLAKE2b-256 checksum How to use checksums |
0ee99b8c7e604e8eec6567ddf09fa61c12d748f8c3176ecb1691bcf2cfb7e613
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.4 CPython/3.9.0 Darwin/20.1.0
|