rsync -ax --exclude [relative path to directory to exclude] /path/from /path/to
Você pode querer (ou não) usar --del
também. Verifique a página de manual.
Devido a um problema no disco rígido, estou tentando deslocar uma partição de um disco rígido para outro. Estou seguindo o artigo link para fazer isso. Na parte de cópia, gostaria de ignorar um subdiretório específico. Como posso realizar isso tendo em mente ao copiar, tenho que preservar meu grupo de proprietários e o registro de data e hora. Existem cerca de 700 GB de dados que precisam ser copiados se eu não ignorar um subdiretório específico.
Normalmente, uso cpio
da seguinte forma,
cd source_dir; find . -depth | cpio -pdmv dest_dir
E como esse é um pipeline, você pode colocar um "filtro de subtração" no meio.
cd sourcedir; find . -depth | grep -v exclude_dir | cpio -pdmv dest_dir
ou você pode dividir isso em várias etapas,
cd source_dir; find . -depth > files.lst
gedit files.lst # (take out the offending directory and files and save back to files.lst)
cpio -pdmv dest_dir < files.lst
É claro que eu testaria isso em algo menor primeiro, mas você entendeu.
Você pode mover temporariamente ( mv
) o subdiretório grande para algum outro local, fazer a cópia e restaurar o subdiretório? Não consigo ver uma opção direta em cp
para fazer isso.
Uma solução bastante feia, mas ... por que não apenas copiar tudo no diretório de forma não recursiva e depois copiar os diretórios individuais de forma recursiva?
Então, por que não apenas
cp -Rv [SRC] [DEST] | grep -v [EXCLUDE]
Tags cp