Поэкспериментировал с
Unison в качестве скрипта по синхронизации настроек используемого софта и некоторых каталогов. Достойная прога, почти тот же
rsync (включая и его метод передачи лишь измененой части файла, что важно для больших файлов), но работающая в любую сторону, в отличие от
rsync .
Минусы - не смог разобраться с принципом работы опции исключения из "игнора" -
-ignorenot. Да и сам автор скупо пишет, что логика ее работы необычная, но примеров ее использования не привел.
Алгоритм работы в скрипте довольно простой. Следует учитывать, что версии программы должны совпадать на разных машинах, ОС , дистрибутивах и т.д.
1) В каталоге
~/.unicon создаем файлы конфигурации
name.prf. Количество файлов определяется количеством заданий - сколько пар каталогов нужно синхронизировать, столько и создаем.
2) Заполняем каждый файл в соответствии с задачей. Если ничего игнорировать внутри каталога не нужно, то файл совсем простой. Лучший вариант создания и заполнения такого файла, включая и игнорирование каталогов-файлов внутри основного каталога, это через графический вариант
unison-gtk.
Пример файла
Thunar.prf . Синхронизируется лишь один файл. Решено тупым способом - через игнор остальных файлов, что неправильно при большом количестве файлов или появлении новых ненужных файлов. Но с опцией
-ignorenot ничего не получилось.
root = /home/nfn/.config/Thunar
root = ssh://nfn@192.168.2.102//home/nfn/.config/Thunar
ignore = Name {renamerrc}
ignore = Name {thunarrc}
ignore = Name {accels.scm}
# Включение пакетного режима и автоматического ответа на вопросы
auto = true
batch = true
# Указываем сохранять права доступа и владельца
owner = true
times = true
# функция сжатия SSH
sshargs = -C
Сам скрипт синхронизации выглядит примерно так. Опция
-ui text запускает программу в текстовом режиме. Запускать лучше в терминале кнопкой с панели.
#!/bin/bash
unison Thunar -ui text
unison Документы -ui text
unison gnote -ui text
unison scripts -ui text
unison orage -ui text
unison Архивы -ui text
unison Книги -ui text
unison БАЗА -ui text
unison Музыка -ui text
unison Музыка_SD -ui text
Файлы конфигурации определяют автоматическую синхронизацию без лишних вопросов, кроме случая, когда оба синхронизируемых файла были изменены после последней синхронизации. В таком случае в процессе синхронизации программа предлагает пользователю принять решение. Есть опция, определяющая главный компьютер -
prefer, как понял, как раз для таких случаев, если нет желания участвовать в определении доминантной версии файла и хочется полностью автоматизировать процесс.
Не получилось синхронизировать каталог с SD карты через линк в домашней папке. Надо разбираться.
Мне понравилось, хотя со многим еще не разобрался.