Recentemente, tive que excluir e recriar um diretório NFS para diminuir seu tamanho depois que ele havia inchado anteriormente. No processo, encontrei uma maneira bastante eficiente de fazer isso usando rsync e links físicos. Esse método evita copiar os arquivos reais, enquanto ainda cumpre o objetivo de recriar o diretório com o mesmo conteúdo.
Como precisávamos de um tempo de inatividade para fazer essa operação durante nossa janela de manutenção, disponibilizar o diretório reconstruído o mais rápido possível foi importante para nós. Se a simplicidade for mais importante para você, altere o primeiro comando de movimentação para um 'rm -rf' no diretório de origem e pule o outro comando 'rm -rf'.
Eu extraí esses comandos de um processo maior e abstraí os nomes dos diretórios, então peço desculpas se cometi um erro nessa tradução.
mkdir /tmp/holding_dir/
rsync -ai --delete --link-dest=/path/to/source_dir/ /path/to/source_dir/ /tmp/holding_dir/
mv /path/to/source_dir/ /tmp/deleteme/
mv /tmp/holding_dir/ /path/to/source_dir/
Depois, removemos o diretório Dependendo do tamanho, pode ser necessário usar uma técnica mais sofisticada para fazer isso. Por exemplo, o uso do rsync com o sinalizador --delete para sincronizar um diretório vazio nesse diretório pode ser mais eficiente.
rm -rf /tmp/deleteme/