Sincronize os arquivos de uma pasta de um servidor para outro

1

Eu preciso de um script no qual o servidor Files of One seja copiado para outra pasta de outro servidor APENAS E SOMENTE SE o arquivo no arquivo SOURCE SERVER não existir no DESTINATION SERVER.

Mais detalhes

Isso será executado o tempo todo em um servidor SOURCE se o usuário criar o FILE no SOURCE SERVER e quando o arquivo estiver concluído e salvá-lo (o Comando ou script) primeiro verificar DESTINATION SERVER se o arquivo existir no DEST. SERVIDOR se não, então copie se para DEST. SERVIDOR

Como fazer isso, não tenho idéia do script.

    
por OmiPenguin 11.11.2012 / 15:11

2 respostas

6

Use o sinal rsync --ignore-existing . De man rsync :

--ignore-existing       skip updating files that exist on receiver

Para fazer isso entre dois servidores distintos, você faria algo assim:

rsync --ignore-existing -avz -e ssh source remoteuser@remoteserver:destination

Se você estiver realmente executando esse "todo o tempo" (ou seja, continuamente) como você diz na pergunta, eu recomendo usar uma solução baseada em inotify , o que eliminaria muita sobrecarga .

    
por 11.11.2012 / 15:13
1
O

Unison é outra ferramenta desse tipo que não possui o mesmo conjunto de recursos que o rsync, mas pode ser igualmente adequado para este caso partifular.

Existe um howto que explica também como se integrar com ototify

    
por 11.11.2012 / 16:02