Saya baru-baru ini harus menghapus dan membuat ulang direktori NFS untuk mengecilkan ukurannya setelah sebelumnya membengkak. Dalam prosesnya, saya menemukan cara yang cukup efisien untuk melakukan ini menggunakan rsync dan tautan keras. Metode ini menghindari menyalin file yang sebenarnya, sambil tetap mencapai tujuan menciptakan direktori dengan konten yang sama.
Karena kami perlu mengambil downtime untuk melakukan operasi ini selama jendela pemeliharaan kami, membuat direktori yang dibangun kembali sesegera mungkin penting bagi kami. Jika kesederhanaan lebih penting bagi Anda, ubah perintah pindah pertama ke 'rm -rf' di direktori sumber, dan lewati perintah 'rm -rf' lainnya.
Saya mengekstrak perintah-perintah ini dari proses yang lebih besar, dan mengabstraksi nama direktori, jadi minta maaf jika saya membuat kesalahan dalam terjemahan itu.
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/
Lalu nanti, kita hapus direktori. Tergantung pada ukuran, Anda mungkin perlu menggunakan teknik yang lebih canggih untuk melakukan ini. Misalnya, menggunakan rsync dengan flag --delete untuk menyinkronkan direktori kosong ke direktori ini mungkin lebih efisien.
rm -rf /tmp/deleteme/