Merhaba;
Tmp dizini sitenin tüm session, cache gibi dosyalarının tutularak sitenin hızlı bir şekilde çalışmasını sağlayan sunucunun özel önbellek alanıdır. Bu alan sayesinde sunucu normalden %20 ile %50 arasında daha iyi performans verebilmektedir.
Tmp dizini dolduğunda başta mysql hizmeti olmak üzere sitelerde sorunlar ve erişim problemleri yaşamaktayız. 150 bin dosyadan fazla önbellek dosyası mevcut ise dosyaları rm -rf kodu ile de silememekteyiz. Bu sorunu çözmek için bir cron oluşturuyoruz. Bu cron ile özellikle büyük hitli veya paylaşımlı hosting sunucularında tmp alanını kontrol etmekle uğraşmıyoruz.
Önce cronda çalıştıracağımız dosyayı oluşturalım.
nano /usr/bin/tmpsil
Dosya içeriği boş olarak gözükecektir. Dosya içeriğine;
#/usr/bin/! cd /tmp find . -type f -print -exec rm {} \; service mysql reload
satırlarını yapıştırıyoruz. Ctrl + x komutu ile dosyamızdan çıkıp kaydediyoruz.
Daha sonra shell komut istemcisi üzerinde dosyamıza izinleri sağlıyoruz.
chmod +x /usr/bin/tmpsil
Artık istediğimiz zaman tmpnin silinmesi için gerekli ayarları yapabiliriz. Ayrıca manuel olarak silmek istediğimizde shell komut istemcisi üzerinde tmpsil komutunu kullanarak silebiliriz.
Crontab -e komutu ile crontab ekleme sayfasına girerek aşağıdaki crontabı kendimize göre düzenleyerek ekliyoruz.
0 2 * * * /usr/bin/tmpsil > /dev/null 2>&1
Bu crontab ile her gün gece 2 de sunucunun tmp alanı temizlenecektir.
İyi günler.
Bir yanıt yazın