«convenient rsync frontend»

«ds is a command line tool for manual, but quick and easy one-way syncing/mirroring of data to/from remote hosts. It primarily uses rsync(1) and ssh(1) to accomplish its tasks.  DConf sync requires a typical Linux desktop installation (optional).»

I tend to switch between different computers, and I wanted some command line utility which made explicit synchronization of application data and configuration easier than having to invoke rsync directly. The result of this was ds*, which mainly works as a convenient wrapper around rsync, allowing you to define named sets of data (typically files/directories under your $HOME directory or DConf config trees) in a simple, flexible and easily readable config file format. These «sync items» can then be pushed or fetched to/from remote hosts with ease. You can associate automatic process killing expressions and preconditions with each sync item. It is meant to be used interactively and has support for generating Bash-compatible command line auto-completion code. Ds itself is written in POSIX compliant plain Bourne shell and is compatible with for instance dash, which runs much faster than standard GNU bash. Dash also happens to be the default «/bin/sh» implementation on Ubuntu/Debian.


Latest release on Github, version 1.3.0.