Tak, to się wypełni. Rozważ wdrożenie zadania cron, które po pewnym czasie usunie stare pliki.
Coś jak to powinno załatwić sprawę:
/usr/bin/find /tmp/mydata -type f -atime +1 -exec rm -f {} \;
Spowoduje to usunięcie plików, które mają czas modyfikacji To więcej niż jeden dzień życia.
lub jako wejścia crontab:
# run five minutes after midnight, every day
5 0 * * * /usr/bin/find /tmp/mydata -type f -atime +1 -exec rm -f {} \;
gdzie/tmp/mydata jest podkatalogu gdzie aplikacja przechowuje swoje pliki tymczasowe. (Po prostu usuwanie starych plików w/tmp byłoby bardzo złym pomysłem, jak to ktoś inny wskazał tutaj.)
Spójrz na crontab i znajdź strony podręcznika dla szczegółów. Nie uruchamiaj skryptów, które usuwają pliki z twojego systemu plików bez zrozumienia wszystkich szczegółów - tak złe rzeczy dzieją się dobrym serwerom. :)
Oczywiście, jeśli możesz po prostu zmodyfikować swoją aplikację, aby usunąć pliki tymczasowe, gdy zostanie to zrobione z nimi, to byłoby o wiele lepszym rozwiązaniem, ogólnie.
Pamiętam, że był błąd, w którym "find" lub "rm" podążały za dowiązaniami symbolicznymi ... Nie jestem tego pewien. Ale może być ważne, aby spróbować przed użyciem. Ponieważ jeśli ktoś robi coś w stylu ln -s// tmp/ItWillEraseEverything. To może nie być zabawne, jeśli twoja praca cron podąża za dowiązaniami symbolicznymi. –
Podczas czyszczenia/tmp należy uważać na problemy z bezpieczeństwem. W Debianie i pochodnych tmpreaper powinien być przydatny. –
Dlatego niektóre implementacje UNIX (np. Solaris) zawsze będą czyścić/tmp podczas ponownego uruchamiania. Zwykle istnieją również zadania cron do czyszczenia/tmp raz na jakiś czas. To zależy od twojej dystrybucji LINUX. Powinieneś włożyć do tego zadanie cron, jeśli go nie ma. – Tilo