This commit is contained in:
2022-11-28 23:50:53 +01:00
parent 31b29ee394
commit 2decd8d08a
2 changed files with 23 additions and 29 deletions

View File

@@ -1,15 +1,19 @@
---
title: "unison"
tags: [ "documentation", "backups", "sync" ]
tags: [ "Documentation", "Backups" ]
---
Install unison on both machines, and on both make the `~/.unison` directory.
Install unison on both machines, and make sure both have the same version of unison, with the same version of the ocaml compiler (the smallest difference will cause problems).
> unison -version
Create the `~/.unison` directory on both machines.
Make a job called `backup`:
> vim ~/.unison/backup.prf
> vim ~/.unison/*backup*.prf
All jobs must end in `.prf`.
You can name the file anything, but it must end in .prf.
Here is an example job, which synchronizes the `~/music` directory with a remote machine.
@@ -25,28 +29,18 @@ ignore=Name *.flac
```
The last command means it will ignore any file with a name ending in `.flac`.
Add a port with this line:
```
sshargs=-p 4444
```
## Automatic Runs
The first command means this will run but also confirm which files will be deleted, and which will be transferred, us `batch = true` instead.
Or you can deleted that line in the `.prf` file and run it with a flag:
> unison -batch *backup*.prf
Set unison to run with crontab or a systemd unit file to have directories synchronize automatically.
## Problem Solving
Unison is extremely sensitive to version changes.
Both machines must have exactly the same version of unison installed, as well as the same version of `ocaml`.
Check with:
> unison -version
You will see data files summarizing what has happened in the `~/.unison` directory.
If something goes wrong, you may be prompted to delete these to start again.