Unison 无法备份隐藏的点文件
Unison fails to backup hidden dotfiles
我正在使用 unison
(一种文件同步工具)在我的 linux 机器(客户端)和 linux ssh 服务器(主机)之间同步文件。它会很好地同步点文件(以 .
开头的配置文件),但它根本不会创建它们的备份。这是一个错误,还是我遗漏了一些明显的东西。在我发送错误报告之前,我主要希望有人再次确认我没有做蠢事。下面是一个最小的 unison
配置文件和重新创建错误的步骤。
### ~/.unison/Test.prf
### Roots of Syncronization
root = /home/username
root = ssh://root@<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 root@<host-ip-here> 'mkdir SyncDir BackupDir'
~$ unison Test
~$ ssh -i ssh-key root@<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 root@<host-ip-here> 'ls -A SyncDir/TestDir'
.dottestfile
testfile
~$ ssh -i ssh-key root@<host-ip-here> 'ls -A BackupDir/TestDir'
testfile
事实证明这不是错误,我正在做一些愚蠢的事情。直到 backup = Name
需要 标准通配模式
according to the unison manual,
所以行
backup = Name *
不匹配名称中带有前导 .
的任何文件。该行应该是
backup = Name {.*,*}
我正在使用 unison
(一种文件同步工具)在我的 linux 机器(客户端)和 linux ssh 服务器(主机)之间同步文件。它会很好地同步点文件(以 .
开头的配置文件),但它根本不会创建它们的备份。这是一个错误,还是我遗漏了一些明显的东西。在我发送错误报告之前,我主要希望有人再次确认我没有做蠢事。下面是一个最小的 unison
配置文件和重新创建错误的步骤。
### ~/.unison/Test.prf
### Roots of Syncronization
root = /home/username
root = ssh://root@<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 root@<host-ip-here> 'mkdir SyncDir BackupDir'
~$ unison Test
~$ ssh -i ssh-key root@<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 root@<host-ip-here> 'ls -A SyncDir/TestDir'
.dottestfile
testfile
~$ ssh -i ssh-key root@<host-ip-here> 'ls -A BackupDir/TestDir'
testfile
事实证明这不是错误,我正在做一些愚蠢的事情。直到 backup = Name
需要 标准通配模式
according to the unison manual,
所以行
backup = Name *
不匹配名称中带有前导 .
的任何文件。该行应该是
backup = Name {.*,*}