Saya menggunakan perintah berikut untuk menghapus direktori, file dan direktori yang berumur lebih dari 30 hari, dan memindahkannya ke direktori arsip yang dapat saya hapus setelah beberapa minggu jika tidak ada yang meminta file mereka kembali. Direktori target memiliki subdirektori berdasarkan nama pengguna, demikian juga direktori arsip.
Ini adalah perintah yang saya gunakan:
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
Saya menyarankan versi modifikasi ini untuk menjawab pertanyaan pada ask ubuntu, pengguna lain mengedit kode untuk mengubah akhir baris \;
karena +
lebih cepat (dan lebih benar?). Lihat disini
Namun, menggunakan +
cara ini berfungsi jika -exec
perintahnya adalah ls -lh
tetapi tidak dalam perintah sebenarnya yang saya gunakan. Jika saya mencobanya dengan +
saya mendapatkan pesan kesalahan:
find: missing argument to '-exec'
Saya tidak mengerti mengapa ini berperilaku seperti ini, atau apa perintah yang benar. Tolong jangan hanya mengirim koreksi perintah, saya ingin mengerti daripada hanya mengikuti saran secara membabi buta.
+
memasok beberapa argumen ke perintah yang sama, tetapi mv
tidak bisa mengatasinya!