Synchronize files through the sneakernet
Project description
Synchronize files through the sneakernet, i.e. using a removable drive.
Requirements:
- rsync. The version must support extended attributes (-X flag).
- A removable drive with a filesystem matching the source and target computers.
- Feet or a compatible mean of transportation of the removable drive between computers.
Installation
Simply run pip install sneakersync.
Configuration
The configuration is a YAML-formatted file that contains modules (directories to be synchronized) and filters (rules that exclude or include files or directories). Each module must contain a root entry (the top-level path to be synchronized) and may contain filters; if no filter is specified, all files and directories below the root of the module are included. Filters are defined by a list of include or exclude directives.
A minimal example which synchronizes the home folder of a user would look like:
modules: - root: /home/john.doe
To exclude a directory (and its content) and files with a given extension from a module, add a filters directive:
modules: - root: /home/john.doe filters: - exclude: /home/john.doe/.firefox/caches - exclude: *.pyc
To filter entries from all modules, use the top-level filters directive:
modules: - root: /home/john.doe - root: /home/jane.blogs filters: - exclude: .firefox/caches
Filters defined at the top-level will have priority over module-level filters.
Usage
- Create a filesystem on a removable drive that matches the source and target computers.
- Optional, but highly recommended: encrypt your removable drive.
- Store the configuration in a file named sneakersync.cfg on the root of the drive.
- To send data, run sneakersync send <PATH_TO_YOUR_DRIVE>.
- Move your drive to the other computer and plug it in.
- To receive data, run sneakersync receive <PATH_TO_YOUR_DRIVE>.
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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size sneakersync-1.0.1-py2-none-any.whl (6.0 kB) | File type Wheel | Python version py2 | Upload date | Hashes View |
Filename, size sneakersync-1.0.1-py3-none-any.whl (6.0 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size sneakersync-1.0.1.tar.gz (3.7 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for sneakersync-1.0.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc52dd2cadb0cb8d069756d64ddcb0b0ad94cf39eb5349f8c0e9b66647e66bc3 |
|
MD5 | 18490bfbac62212d1e8e85ce5886a9f0 |
|
BLAKE2-256 | dc48c407a8912c578f47876cac836056a15fe90ce2259462f091176d9f5d6885 |
Hashes for sneakersync-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54f7c4358dba64d354b024eeffe902b9d5d02a174a4a36c42a2ecb4cd21a3928 |
|
MD5 | 28149442a43bb93361132602f054db7a |
|
BLAKE2-256 | 3bb7c119742a8d325849c3791d60c956865e8cd87f2a21f738339bac353351af |