Cyberpanel'de Php Session Dosyalarının Otomatik Olarak Silinmesi

Cyberpanel default olarak session dosyalarını

session.save_path = "/var/lib/php/session"

kısmında tutuyor. Eğer session.save_path’i manuel olarak belirlemişseniz alt kısımdaki gibi bir uyarı mevcut.

; NOTE: If you are using the subdirectory option for storing session files
;       (see session.save_path above), then garbage collection does *not*
;       happen automatically.  You will need to do your own garbage
;       collection through a shell script, cron entry, or some other method.
;       For example, the following script would is the equivalent of
;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
;          find /path/to/sessions -cmin +24 -type f | xargs rm

Kısaca diyorki session yolunu kendiniz belirlemişseniz otomatik session temizleme sistemi çalışmaz. Bunun için cron job eklemelisiniz. Cyberpanel kurulduğunda da session dosyalarını farklı dizine eklediğinden şu anki hali ile otomatik olarak session temizliği yapmıyor. (Güncelleme ile çözerlerse bilemiyorum. O zaman bu konuda durumu belirtirim. Fakat güncelleme ile çözselerde cron komutunun kalmasında mahsur bence mahsur yok. Farklı panellerde 1 saat civarı session time out kullanılıyor. Biz 120 dakika ayarladık.)

cmin +120 olan yer kaç dakikadan önceki sessionlar silinecek onu gösterir.
0 0 * * * kısmı günde 1 defa çalışacağını gösterirki yeterlidir. Duruma göre 12 saatte 1 vs kodu modifiye edebilirsiniz.
Centos 7 kullanılan Cyberpanel sunucu için crontab’ı nano editörle düzenlemek için gerekli kodu vermiştik.

Burdada verelim.

1. Adım: Ssh’a giriyoruz. Ardından:

EDITOR=nano crontab -e

Nano ile cron dosyasını açtık. En alt satırına alttaki kodu ekliyoruz.
2. Adım: Crontab’a komutumuzu ekliyoruz.

0 0 * * * find /var/lib/php/session -cmin +120 -type f | xargs rm > /dev/null

3. Adım: Crontab servisini restartlıyoruz.

service crond restart

4. Adım: Çalışıyormu test ediyoruz.

run-parts /etc/cron.daily

Komutu verin. Bir müddet sonra

cd /var/lib/php/session

klasörüne geçin. Klasör boyutu oldukça azalmıştır.

dir

ile içeriği listeleyebilirsiniz. Zaten sunucu disk kullanımından da durum belli olur. Yakın zamanda bir eticaret sitesinde ortalama 30 gb civarı session dosyasını üstteki yöntemle temizledim. Site kullanımınız yoğunsa kullanmanız kaçınılmazdır. Önerim tüm Cyberpanel sunucularda kullanmanız. Sonuçta Wordpress admin girişleri vs bile session’a yazılıyor ve gereksiz yer kaplıyor.