Skip to main content

Synchronize files through the sneakernet

Project description


Synchronize files through the sneakernet, i.e. using a removable drive.


  • 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.


Simply run pip install sneakersync.


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:

  - root: /home/john.doe

To exclude a directory (and its content) and files with a given extension from a module, add a filters directive:

  - root: /home/john.doe
      - exclude: /home/john.doe/.firefox/caches
      - exclude: *.pyc

To filter entries from all modules, use the top-level filters directive:

  - root: /home/john.doe
  - root: /home/jane.blogs
  - exclude: .firefox/caches

Filters defined at the top-level will have priority over module-level filters.


  1. Create a filesystem on a removable drive that matches the source and target computers.
  2. Optional, but highly recommended: encrypt your removable drive.
  3. Store the configuration in a file named sneakersync.cfg on the root of the drive.
  4. To send data, run sneakersync send <PATH_TO_YOUR_DRIVE>.
  5. Move your drive to the other computer and plug it in.
  6. To receive data, run sneakersync receive <PATH_TO_YOUR_DRIVE>.

Known limitations:

  • The last access time (atime) is not preserved: rsync needs to access files in order to transfer them.
  • The creation / meta-data change time (ctime) is not preserved: this attribute is not user-modifiable.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sneakersync, version 1.2.2
Filename, size File type Python version Upload date Hashes
Filename, size sneakersync-1.2.2.tar.gz (5.2 kB) File type Source Python version None Upload date Hashes View
Filename, size sneakersync-1.2.2-py3-none-any.whl (7.6 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page