<-[[.:start]] ====== Unison ====== I used ''unison'' previously to maintain sync/backup of files between machines on my own LAN. This has been used to keep files on a PC synchronized to the Dropbox folders on another PC, and thereby with the Dropbox cloud. Now that I have access to a remote Debian Linux VPS machine I thought I'd revisit the use of ''Unison'' to keep folders synchronised - perhaps to keep a remote backup of certain files. **You can never have too many backups** I installed the Debian package of ''unison'' on the new VPS machine and made a matching pair of configurations - one on the VPS and one on the Shack Laptop (which already has ''unison'' installed). The configurations: ===== Laptop ===== root = /home/gm4slv/test_dir root = ssh://gm4slv.org.uk/test_dir sshargs = -C ===== VPS ===== root = /home/gm4slv/test_dir root = ssh://gm4slv.plus.com:27659/test_dir sshargs = -C ===== Unison version ===== I put some files in one "test_dir" and ran ''unison vps'' from the Shack Laptop and got this: Unison 2.51.3 (ocaml 4.11.1): Contacting server... Fatal error: Received unexpected header from the server: expected "Unison 2.51 with OCaml >= 4.01.2\n" but received "Unison 2.48\n\000\000\000\000\017", which differs at "Unison 2.4". This can happen because you have different versions of Unison installed on the client and server machines, or because your connection is failing and somebody is printing an error message, or because your remote login shell is printing something itself before starting Unison. Incompatible versions. Laptop is running Debian 11 "Bullseye" and the packaged version of Unison is 2.51.3, whereas the VPS machine is running Debian 10 "Buster" and that has Unison version 2.48. I've had this happen before, Unison is **very** touchy about having the same version at both sides. I removed the older 2.48 from the VPS and downloaded a matching V2.51.3(ocaml 4.11.1) from github: [[https://github.com/bcpierce00/unison/releases/tag/v2.51.3]] Unpacked and moved ''unison'' to ''/usr/local/bin'' on the VPS. ===== Success ===== Now I was able to sync between the machines. Adding the SSH public keys from both machines to the '~/.ssh/authorized_keys2'' of its peer meant it all went ahead without password prompting. Now I have two "mirrored" directories on two separate machines I can use the **VPS** as a low-key remote file store. Page Updated : ~~LASTMOD~~ //[[gm4slv@gm4slv.plus.com|John Pumford-Green]] Tue May 3 22:29:31 2022// {{tag>unison vps linux}}