Como conseguir uma sincronização bidirecional de arquivos userN pelo usuário1 mantendo o tempo de execução?

2

user1 quer fazer uma sincronização bidirecional entre duas máquinas. user1 é membro de group2 e tem um túnel ssh não privilegiado. Existem muitos arquivos e diretórios, como:

rwxrwx--- userN group2  enclair/WEB/CLIENTS/VictorMarty

Alguns arquivos são editados nas duas máquinas e precisam ser mesclados manualmente. Portanto, eu fui com o Unison em vez de um trabalho de rsync em ambos os lados.

arquivo de preferências do unison:

perms = -1
#group = true
#owner = true
times = true

Comando de sincronização bidirecional que uso:

$ unison "profile" -perms 0 -dontchmod

Resultado / saída:

...
UNISON 2.48.3 finished propagating changes at 02:29:24.90 on 13 Sep 2015

Saving synchronizer state
Synchronization incomplete at 02:29:25  (0 items transferred, 1 skipped, 60 failed)

failed: enclair/WEB/CLIENTS/VictorMarty 

Eu posso começar a trabalhar comentando times no arquivo profile.prf. Perdendo os metadados do mtime no processo.

Eu vejo que é possível sudo unison e sudo com o --server-cmd do outro lado, para que, em efeito, o unison seja executado como root, mas a conexão ainda é um usuário normal.

Esta é a maneira de obter sincronização bidirecional mantendo os arquivos modificados, preferencialmente mantendo o usuário1?

    
por tuk0z 13.09.2015 / 02:59

1 resposta

0

Dependendo do período de tempo necessário para a sincronização, talvez você consiga usar dois processos de rsync. Configure um cron job para executar rsync -au <source> <dest> em cada host. Isso deve manter ambos os hosts "sincronizados" dentro de um determinado período de tempo. Você também pode usar o inotify para executar o rsync sempre que um arquivo for alterado.

    
por 14.09.2015 / 02:56