Skocz do zawartości
jasne

Miliony plikow sesji w /tmp

Polecane posty

WItam wszystkich

 

dzis przytrafily mi sie dziwne problemy z funkcjonowaniem serwera jakieś anomalie, nawet gdy MC chciałem uruchomić pisał mi że nie ma miejsca w /tmp

 

więc tam zajrzałem ... ku zdumieniu było tam ponad 1.2 miliona plików sesji typu sess_u432u9249234u324321

wielkośc 26b lub 0 , a ich daty były prawie z całego roku......

 

zresetowałem serwer ale wszystkie pliki były dalej

 

wiec zacząłem je teraz ręcznie kasować hurtem....

 

Skąd tyle tych plików czy nie powinno być ich tylko z dnia obecnego ???

Edytowano przez jasne (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeżeli korzystasz z PHP to sprawdź konfiguracji, sprawdź czy wszystkie zadania cron wykonują się prawidłowo.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W pliki php.ini wyłącz tę funkcje ale pierw upewnij się iż w twoim skrypcie jest zbędna , bo jeśli nie to w swoim serwisie doświadczysz efektu live logout.

 

Skutecznym sposobem jest kasowanie tego rodzaju plików z zadań cron. Jeśli odnotowujesz duży ruch w serwisie jest to normalną rzeczą , wystarczy po kilku minutach ustawić czyszczenie folderu , Google analistic pomoże w ustaleniu trwania czasu sesji

Edytowano przez Łukasz Bodziony (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

no ale system nie powinien tego sam robic tylko co musze sam pisac skrypt do usuwania sess* i wrzucac go do crona ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Skrypt ci powinien automatycznie co jakiś czas to oczyszczać, ale prawdopodobnie ma błąd który to powoduje , zrób tak zmień lokalizacje trzymania sesji w php.ini i prosty skrypt do czyszczenia daj w cronie np:

*/5 * * * * rm -rf /sciezka/tmp/*

TMP całkowicie nie może być czyszczony ponieważ jeśli używasz mysql mogą powstać problemy z sock :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

sciezki nie mam co chyba zmieniac bo moge dać taki skrypt... ale jakos intuicja mi podpowiada ze to prowizoryczne rozwiązanie, system pownien gdzies miec mozliwosc tego obrabiania

#!/bin/bashrm -rf /tmp/sess_*

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

to -r jest zbędne, chociaż i tak lepsze niż usuwanie wszystkiego w tym katalogu

 

użyj lepiej find-a bo "globowanie" na takiej ilości plików się raczej nie uda

 

find /tmp -mtime +1 -name 'sess_*' -exec rm -f {} \;

 

No i raz/dzień raczej wystarczy bo robienie tego co 5 minut spowoduje tylko zrywanie sessji dla użytkowników, którym usuniesz plik sesyjny.

Edytowano przez tgx (zobacz historię edycji)
  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

Z choinki się urwałeś? :D

 

Czy ja wiem? Raczej nie bardzo. Chodziło mi o rozwiązanie tego problemu w możliwie nieinwazyjny sposób. Debian np. instalując paczki PHP (bo dobrze wiemy skąd pochodzą pliki w stylu sess_) dodaje specjalny wpis do crona czyszczący cyklicznie pliki sesji. Wystarczy odpowiednio skonfigurować php.ini, ewentualnie uprawnienia do katalogu z sesjami zamiast dodawać nadmiarowe crony.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

po robocie wrzuciłem sam sobie skrypt do crona i raz dziennie czystke robi...

btw. centos

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×