O SCP transfere apenas arquivos modificados

30

Estou usando o comando abaixo para transferir arquivos entre servidores

scp -rc blowfish /source/directory/* [email protected]:/destination/directory

Existe uma maneira de transferir apenas arquivos modificados, assim como o updatecomando cp?

Desenvolvedor Apaixonado
fonte

Respostas:

52

rsync é seu amigo.

rsync -ru /source/directory/* [email protected]:/destination/directory

Se você deseja excluir arquivos no destino que não existem mais na origem, adicione a --deleteopção

Flup
fonte
4
Embora, se você estiver sincronizando com um servidor Web e esse servidor armazene em cache o HTML, talvez não queira usá-lo --delete, pois os visitantes de uma página antiga podem solicitar um ativo que não existe mais.
Jackson
@Jackson, um processo limpo não incluirá dados variáveis ​​como caches ou configurações nas fontes.
Chris Pillen
Em alguns casos, lidei com servidores fora do meu domínio que não têm, rsyncmas têm scp. Existe uma solução comparável, mesmo que precise de algumas linhas de script?
IX3
A resposta é útil, mas a questão era: isso pode ser alcançado com o próprio scp.
Mladen B.
1

Geralmente, solicita-se scp porque existe uma razão. Ou seja, não é possível instalar o rsyncd no destino.

files=`find . -newermt "-3600 secs"`

for file in $files
do
       sshpass -p "" scp "$file" "root@$IP://usr/local/www/current/$file"
done
Angelo Dureghello
fonte