Saya ingin menghapus cadangan yang lebih lama dari 7 hari tetapi pertahankan yang pertama setiap bulan.
Nama file adalah: name_$(date +\%d\%m\%Y).tar.gz
Saya ingin tetap: name_$(date +\01\%m\%Y).tar.gz
Saya ingin sesuatu seperti ini:
find /path -mtime +8 -exec rm {} \;
Di mana saya bisa masuk name_$(date +\01\%m\%Y).tar.gz?
Mungkin menggunakan --exclude name_$(date +\01\%m\%Y).tar.gz
Saya mencari perintah satu baris.
Tidak ingin subdirektori.
Mencoba dengan gema tidak berfungsi dengan baik tetapi menunjukkan sesuatu dari 01.
yang --excludetidak berfungsi:command not found
--exclude name_01*.tar.gz? Cobalah dengan echoalih - alih rmsebelumnya ... :)
/01Monthly,/BackupsRetained, dll dan kemudian memiliki logika Anda yang lain melakukan sisanya tanpa pengecualian atau--excludeberalih? Dengan cara ini01file Anda selalu bergerak terlebih dahulu per skrip yang sama yang membersihkan dan mereka selalu di sub-folder "standar" lainnya di dalam folder root yang sama daripada Anda membersihkan file lama 7 hari dari hanya dalam folder itu dan tidak secara rekursif.