Eu tenho duas máquinas, nearbyMachine
e remoteMachine
.
Em nearbyMachine
, os arquivos estão sendo criados em uma pasta.
nearbyMachine/
myFiles/
file1
file2
file3
...
Eu quero ter os arquivos remoteMachine
também - mas classificados em diretórios:
remoteMachine/
filesByCategory/
loveLetters/
file1
file2
...
otherLetters/
file3
...
...
Então eu...
- Copie todos os arquivos da pasta para uma pasta temporária na
remoteMachine
Internet, - Execute um software
remoteMachine
que remova todos os arquivos da pasta temporária, que já estão presentes em qualquer subpasta defilesByCategory
. - Classifique manualmente os arquivos em subpastas existentes ou novas de
filesByCategory
.
O problema: conforme o tempo passa, o primeiro passo leva cada vez mais tempo. Horas. E é deselegante .
Existe alguma maneira, por exemplo, com o rsync, de copiar apenas os arquivos que ainda não estão presentes em nenhum lugar da máquina remota? Ou pelo menos obter uma lista dos arquivos que tenho que copiar?
No meu entendimento, todos os programas de sincronização podem comparar apenas um único diretório em ambos os lados.
Um procedimento mais rápido seria copiar seletivamente para a pasta temporária
remoteMachine
apenas os arquivos mais recentes que a última sincronização. Então você só precisará classificar alguns arquivos em suas pastas.Um script simples faria o trabalho. Você usaria um utilitário como find para listar todos os arquivos mais recentes. O
newerXY
parâmetro talvez seja útil, juntamente com um arquivo de referência que seu script irátouch
no final da cópia.O parâmetro a ser usado pode ser
-newermm
.Seu script poderia usar esta lista de arquivos gerados por
find
como parâmetro para umcp
comando, para copiar para o servidor remoto, onde você pode classificá-los em suas respectivas pastas.