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 --exclude
tidak berfungsi:command not found
--exclude name_01*.tar.gz
? Cobalah dengan echo
alih - alih rm
sebelumnya ... :)
/01Monthly
,/BackupsRetained
, dll dan kemudian memiliki logika Anda yang lain melakukan sisanya tanpa pengecualian atau--exclude
beralih? Dengan cara ini01
file 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.