Katalogi rosną same. Skrypt sprzątający jest prosty do napisania i wyjątkowo groźny, jeśli pomyli się w regule.
Co zwykle zajmuje miejsce
- pliki tymczasowe po przetwarzaniu,
- wygenerowane wydruki i zestawienia,
- kopie robione ręcznie przed zmianami,
- miniatury i wersje pochodne zdjęć,
- dzienniki zdarzeń bez rotacji.
Zanim powstanie reguła, warto zobaczyć rozkład: które katalogi ważą najwięcej i co w nich leży. Zdarza się, że całe miejsce zajmuje jeden folder z plikami sprzed lat, a sprzątanie reszty nie jest w ogóle potrzebne.
Warto też ustalić, kto te pliki tworzy. Jeśli katalog tymczasowy rośnie, bo aplikacja nie sprząta po przerwanych operacjach, to skrypt sprzątający leczy objaw. Czasem taniej jest poprawić źródło niż uruchamiać czyszczenie co noc.
Najpierw tryb próbny
Pierwsze uruchomienie wyłącznie z wypisaniem listy plików do usunięcia. To jedyny bezpieczny sposób sprawdzenia reguły.
Listę trzeba przejrzeć, a nie tylko policzyć. Wynik nieoczekiwanie krótki oznacza, że reguła nie łapie tego, co miała. Wynik zaskakująco długi oznacza, że łapie za dużo — i nigdy nie jest miłym odkryciem.
Reguła zawężająca
Katalog, wzorzec nazwy i wiek pliku łącznie. Sam wiek jako kryterium prędzej czy później usunie coś potrzebnego.
Uwaga na daty. Czas modyfikacji pliku zmienia się przy kopiowaniu i przenoszeniu, więc plik stary potrafi wyglądać na nowy, a nowy na stary. Jeśli reguła opiera się na wieku, trzeba wiedzieć, którą datę czyta i skąd ona pochodzi. Osobna pułapka to dowiązania i zamontowane zasoby sieciowe — skrypt schodzący w głąb katalogów może wyjść poza obszar, który miał sprzątać.
Pliki osierocone
Załącznik bez rekordu w bazie zwykle da się usunąć, ale sprawdzenie powiązania musi obejmować wszystkie miejsca, które mogą go używać.
Te same pliki bywają wskazywane z kilku tabel, z treści opisów albo z systemu zewnętrznego. Sprawdzenie jednej tabeli daje wynik pozornie jednoznaczny i całkowicie mylny. Lustrzane zagadnienie po stronie danych opisuje tekst o czyszczeniu bazy danych.
Kosz zamiast usunięcia
Przeniesienie do katalogu wydzielonego i usuwanie stamtąd po kilku tygodniach. Tańsze niż odtwarzanie z kopii.
Kosz musi leżeć na tym samym dysku, żeby przeniesienie było natychmiastowe, i musi mieć własny termin czyszczenia. Inaczej zamienia się w kolejny katalog, który rośnie bez końca. Przed pierwszym prawdziwym uruchomieniem obowiązuje sprawdzona kopia zapasowa obejmująca także pliki, nie samą bazę.
Dziennik
Zapis, co i kiedy zostało usunięte. Bez niego pytanie „gdzie się podział ten plik" pozostaje bez odpowiedzi.
Wystarczy nazwa, rozmiar, data i powód usunięcia. Przy pytaniu zgłoszonym po tygodniach to jedyne źródło, które pozwala odpowiedzieć bez zgadywania — i jedyne, które pokazuje, że reguła zaczęła obejmować coś nowego.