rsync
tem uma página de manual muito abrangente, há até alguns exemplos que indicam como fazer isso. Aqui está minha opinião sobre o que você quer.
rsync -auv remotemachine:/path/to/srcdir/ /path/to/dest_dir
Eu fiz algumas suposições, atualizo sua pergunta com informações adicionais se a sua configuração for diferente e você precisar de mais ajuda.
Suposições:
o remotemachine tem o servidor rsync configurado. (o acesso ssh é possível, mas a sintaxe é um pouco diferente)
-a modo de arquivamento define várias opções automaticamente, mas geralmente é o que você deseja para backups
-u modo de atualização, apenas copiar arquivos que não existem ou tamanho ou hora da última modificação são diferentes (arquivos de origem são mais recentes do que você já tem)
srcdir / A barra à direita significa copiar arquivos de src_dir
para dest_dir
para evitar um nível extra no destino.
-v modo detalhado para que você possa ver o que está acontecendo.
Para testar isso, use a opção -n
, além disso, isso pula a cópia, mas mostra o que ela faria.
Mas recomendo, ler a página de manual man rsync
e testar.
[edit] Após o primeiro comentário do @Dev abaixo.
Se você tiver uma etapa intermediária, ou seja, dest_dir é realmente um local de armazenamento local temporário, usado para arquivamento offline. Em seguida, você poderá criar uma lista de arquivos que foram arquivados com êxito e usar a opção --exclude-from-file=/some/where/exclude_list.txt
.