File sync utility
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for synecure-0.1.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e370f98ae06350f790108217413943a2c8a9a521d2607d5478cf6ce0095a67e |
|
MD5 | 64e3b6bb7d98a672ad873931f0d19556 |
|
BLAKE2b-256 | 0ee99b8c7e604e8eec6567ddf09fa61c12d748f8c3176ecb1691bcf2cfb7e613 |