2015-03-10 3 views
0

Я использую unison (инструмент синхронизации файлов) для синхронизации файлов между моей машиной linux (клиент) и сервером linux ssh (host). Он будет синхронизировать dotfiles (файлы конфигурации, которые начинаются с .) в порядке, но он вообще не создает резервные копии. Это ошибка, или я пропущу что-то очевидное. Я в основном хочу, чтобы кто-то подтвердил, что я не делаю ничего глупого, прежде чем отправить отчет об ошибке. Ниже представлен минимальный файл профиля unison и шаги по воссозданию ошибки.Unison не удалось выполнить резервное копирование скрытых dotfiles

### ~/.unison/Test.prf 

### Roots of Syncronization 
    root = /home/username 
    root = ssh://[email protected]<host-ip-here>//root/SyncDir 
    sshargs = -C -i /home/username/ssh-key 

### Directories to be Synced 
    path = TestDir 

### Backup Settings 
    backuplocation = central 
    backupdir = /root/BackupDir 
    backup = Name * 
    maxbackups = 9 
    backupprefix = 
    backupsuffix = .$VERSION 

И вот что я побежал на клиентском компьютере, чтобы продемонстрировать ошибку:

~$ mkdir TestDir; 
~$ touch TestDir/testfile TestDir/.dottestfile 
~$ ssh -i ssh-key [email protected]<host-ip-here> 'mkdir SyncDir BackupDir' 
~$ unison Test 
~$ ssh -i ssh-key [email protected]<host-ip-here> 'ls -A SyncDir/TestDir' 
.dottestfile 
testfile 
~$ echo "some changes" > TestDir/testfile 
~$ echo "some changes" > TestDir/.dottestfile 
~$ unison Test 
~$ ssh -i ssh-key [email protected]<host-ip-here> 'ls -A SyncDir/TestDir' 
.dottestfile 
testfile 
~$ ssh -i ssh-key [email protected]<host-ip-here> 'ls -A BackupDir/TestDir' 
testfile 

ответ

0

Так получается, что это не ошибка, и я делаю что-то тупой. TIL, что backup = Name ожидает шаблон стандарта глобирования according to the unison manual, и так линия

backup = Name * 

не соответствуют ни одному файлам с ведущим . в его названии. Линия должна быть

backup = Name {.*,*}