Wcześniej używane prostego polecenia find usunąć smołę nie pliki dostępne w ostatnich X dni (w tym przykładzie, 3 dni):Bash skrypt, aby ograniczyć wielkość katalogów usuwając pliki obejrzano ostatni
find /PATH/TO/FILES -type f -name "*.tar" -atime +3 -exec rm {} \;
Teraz muszę poprawić ten skrypt, usuwając w kolejności datę dostępu, a moje umiejętności pisania basha są nieco zardzewiałe. Oto, co potrzebne do zrobienia:
- sprawdzić rozmiar katalogu/ścieżka/do/plików
- jeżeli rozmiar w 1) jest większa niż wielkość X uzyskać listę plików według daty dostępu
- usuwać pliki w porządku, dopóki rozmiar jest mniejszy niż X
tu korzyścią jest dla pamięci podręcznej i rezerwowych katalogów, tylko usunie to, co trzeba, aby utrzymać go w terminie, natomiast metoda uproszczona może przejść ograniczenie rozmiaru, jeśli jeden dzień jest szczególnie duży. Zgaduję, że muszę użyć stat i bash dla pętli?
Myślę, że ten skrypt jest dobrym początkiem, ale tak naprawdę nie odpowiada na pytanie. Pytałeś, jak usunąć pliki w kolejności, aby rozmiar katalogu spadł poniżej progu. Twoja odpowiedź tutaj wydaje się nie usuwać niczego, tylko sortuje pliki i pętle przez nie. Wygląda na to, że gdzieś tu brakuje "rm". –