com rsync
:
rsync --archive --ignore-existing source_dir/ target_dir/
Isso copiará a source_dir
hierarquia inte target_dir
, mas não substituirá nenhum arquivo no target_dir
que já existe.
Cenário:
Diros de origem:
/day1/hour1/instance1/files.ext
/day1/hour1/instance2/files.ext
/day1/hour1/instance3/files.ext
/day1/hour2/instance1/files.ext
/day1/hour2/instance2/files.ext
etc.
Dir de destino (já existe):
/day1/hour1/instance4/files.ext
/day1/hour1/instance5/files.ext
/day1/hour1/instance6/files.ext
/day1/hour2/instance6/files.ext
/day1/hour2/instance7/files.ext
Eu tenho que copiar todos os arquivos da fonte para o alvo.
Como você pode ver, eu tenho uma mesma árvore, ou seja, o mesmo dia e as mesmas horas, mas instâncias diferentes da origem e do destino. Eu preciso copiar todos os dir e arquivos de origem na mesma árvore exata no destino, mas preservando todos os arquivos que já estão na pasta de destino.
Como eu poderia conseguir isso?
cp -R
é o que eu preciso? ou preciso adicionar mais alguns parâmetros?
Acho que eu usaria o rsync. Com rsync você pode copiar e sincronizar os dados. Parâmetros típicos são:
rsync -avh source destination
v é para verbose um para recursivo e preserva as permissões de arquivo, as propriedades e os timestamps h é para fazer números de saída legíveis por humanos
Tags file-copy