The goal of this article is to find an easy and minimal way to transfer recursive directory changes to a host which does not have git nor any other high-level tool like rsync.

Transfer should be done by netcat and on the other end the received data should be run by shell (straight from stdin after decompression).

$ diff -arq jasan-val1 jasan-val2
Only in jasan-val2: ahoj.txt
Only in jasan-val2: aoeui
Files jasan-val1/httpd.conf and jasan-val2/httpd.conf differ
Only in jasan-val1/nginx: nginx.sh
Only in jasan-val1: processmail.sh
Only in jasan-val1: processmail.sh-old
Only in jasan-val2/public_html: dir
Only in jasan-val1: var.tar.gz

Half-way through thinking about a solution I found something very similar, just too complicated for what I need:

Offline-rsync

The result is a script which requires only base64, tar, diff, patch, rm, and sh, all basic commands on POSIX systems.

Ján Sáreník

Helping machines do their job while enabling people focus on things machines can't do.

jsarenik nisanitto


Published