Bu yüzden, 14 günlükten daha eski dizinleri silmeyle ilgili her yazıya baktım. Yazdığım Komut dosyaları ile çalışır ancak bazı nedenlerle dizinleri silmiyor. İşte benim senaryolarım.X gününden daha eski dizinleri sil
#!/bin/bash
find /TBD/* -mtim +1 | xargs rm -rf
Bu kod, bu kod başarıyla TBD içindeki FILES'ı silmiş, ancak iki dizin kalmıştır. Zaman damgasını kontrol ettim ve zaman damgasına göre son değişiklikten bu yana 2 gün geçiyorlar. Özellikle Aralık 16 16:10 Bunu anlayamıyorum. Crontab'ım bu koşuyu koşturuyor her dakika ve kütükler ve günlüğün sadece gösterdiği gibi.
+ /scripts/deletebackups.sh: :2:BASH_XTRACEFD=3xargs rm -rf
+ /scripts/deletebackups.sh: :2: BASH_XTRACEFD=3find /TBD/contents TBD/contents -mtime +1
İçeriği, aslında pxe sunucumuzdaki insanların adı olduğu için kullandım. Ben her iki dizinleri INSIDE her dosya ve klasörleri kontrol ettim ve zaman damgaları olması gerektiği gibi ana dizinin aynıdır, ancak hala silme değil.
İzinler bir şey olabilir mi? Sudo nano deletebackups.sh kullanarak betik yazdım En soldaki TBD altında ls yazdığımda silmeyecek iki dizinin her biri için drwxr-xr-x 3 hscadministrator kök 4096 DEC 16 16:10 gösteriliyor. Tüm bu harflerin ne anlama geldiğini aşina değilim. Eğer daha dosyaları eski silmek arıyorsanız,
find /TBD/* -mtime +1 -exec rm -rf {} \;
Not: Zaten çalıştılar Bu kodun
Diğer yineleme
find /TBD/* -mtime +1 rm -r {} \;
Orijinal yazılarda bundan bahsederdim. Çalışmayacak şekilde hem dosyaları hem de dizinleri silmeye ihtiyacım var. AMA sadece meraklı olmak için, dizinleri silmek için çalıştı ve hala işe yaramadı. – stobiewankenobi
Bulduğunuz komutta -exec'i unuttun, değiştirirseniz çalışmalısınız. – Bolboa
Peki, belirli bir yerde olmalı, değil. sadece tüm dizinleri işaretlemek? Tüm dizinlerin silinmesini istemiyorum. – stobiewankenobi