Recentemente tive que excluir e recriar um diretório NFS para reduzir seu tamanho depois de ter inchado anteriormente. No processo, encontrei uma maneira bastante eficiente de fazer isso usando links rsync e hard. Esse método evita copiar os arquivos reais, enquanto ainda realiza o objetivo de recriar o diretório com o mesmo conteúdo.
Como precisávamos reduzir o tempo de inatividade para fazer essa operação durante nossa janela de manutenção, tornar o diretório recriado disponível o mais rápido possível era importante para nós. Se a simplicidade for mais importante para você, altere o primeiro comando de movimento 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 abstracionei os nomes dos diretórios, então peço desculpas se cometer 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/
Mais tarde, removemos o diretório. Dependendo do tamanho, você pode precisar usar uma técnica mais sofisticada para fazer isso. Por exemplo, usar o rsync com o sinalizador --delete para sincronizar um diretório vazio nesse diretório pode ser mais eficiente.
rm -rf /tmp/deleteme/