Recientemente tuve que eliminar y volver a crear un directorio NFS para reducir su tamaño después de que se había hinchado previamente. En el proceso, encontré una forma bastante eficiente de hacer esto usando rsync y enlaces duros. Este método evita copiar los archivos reales, sin dejar de cumplir el objetivo de recrear el directorio con el mismo contenido.
Dado que necesitábamos tomarnos un tiempo de inactividad para realizar esta operación durante nuestra ventana de mantenimiento, era importante que el directorio reconstruido estuviera disponible lo antes posible. Si la simplicidad es más importante para usted, cambie el primer comando de movimiento a 'rm -rf' en el directorio de origen y omita el otro comando 'rm -rf'.
Extraje estos comandos de un proceso más grande y abstraje los nombres de directorio, así que disculpen si me he equivocado en esa traducción.
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/
Luego, más tarde, eliminamos el directorio. Dependiendo del tamaño, es posible que necesite usar una técnica más sofisticada para hacer esto. Por ejemplo, usar rsync con el indicador --delete para sincronizar un directorio vacío en este directorio puede ser más eficiente.
rm -rf /tmp/deleteme/