Home » Teknoloji » cPanel/WHM Server harddisk alanı temizleme

cPanel/WHM Server harddisk alanı temizleme

WHM server kullananlar için ve Cpanel terminal yetkisi olanlar belirli bir zaman sonra sunucuda büyüyen veriler ve log dosyaları harddisk alanında çok yer kaplamaya diskin dolmasına ve sonuçta boş alan bulamayan sistemin kilitlenmesine neden olduğunu bilir. Bu nedenle berlirli aralıklarda logları temizlemek ve ayrıca tmp klasörünü de temizlemek gerekir. Bunun yanısıra mysql veritabanı temizliği de harddiskte yer açmak için önemlidir.

İşte size en az ayda bir kere yapmanızı tavsiye ettiğimiz  whm log temizlik ve bakım tablosu formülleri ve kodları:

(İngilizce bilen yabancı insanların da yararlanması için hem İngilizce hem de Türkçe açıklama yazmış bulunmaktayız.)

Login to WHM terminal page, the black screen… (WHM’de terminal sayfasına girerek açılan siyah ekrana şu komutları yazın):

  • To clean up old logs, old backups, spam in mail queue, etc. (Bu komutlar logları temizlemek, eski yedeklemeleri, maillerdeki spam iletileri vs. silmek içindir.)

Mail Queue (Mail Kutuları temizliği)

exim -bp | grep \< | awk '{print $3}' | xargs exim -Mrm

/Home Log Files (home klasörü altındaki hata yani error log temizlemek için)

find /home -type f -name error_log -delete

Old User Backups (Eski kullanıcı yedeklerini silmek için)

for user in `/bin/ls -A /var/cpanel/users` ; do rm -fv /home/$user/backup-*$user.tar.gz ; done

Unnecessary System Files (Gereksiz sistem dosyaları temizliği)

updatedb
locate .pureftpd-upload | xargs rm -fv 
locate -r /core\.[0-9] | grep /home | egrep -v 'virtfs|php|sql|ini'

Old Log Files (Eski log dosyalarını silmek için)

rm -rf /usr/local/apache.backup*
rm -fv /home/*/tmp/Cpanel_* 
rm -rvf /home*/cpanelpkgrestore.TMP*
rm -fv /home*/*/.softaculous/backups/*
rm -rvf /home/cpmove-*
rm -f /var/log/*.gz 
rm -f /var/log/exim_mainlog-*
rm -f /var/log/exim_paniclog-*
rm -f /var/log/exim_rejectlog-*
rm -f /var/log/lve-stats.log-*
rm -f /var/log/apache2/archive/*
rm /home/*.tar.gz -fv
rm /home/*/public_html/error_log -fv
rm /home/*/public_html/*/error_log -fv
rm /home/*/public_html/*/*/error_log -fv
rm /home/*/public_html/*/*/*/error_log -fv
rm /home/*/public_html/*/*/*/*/error_log -fv 
cd /var/log
rm -f cagefs.log-* cron-* maillog-* messages-* secure-* spooler-* up2date-* *.gz
yum clean all

Optimize MySQL Databases (Mysql Optimizasyonu için tüm mysql veritabanlarını tamir etmek ve optimize etmek için)

mysqlcheck --auto-repair --optimize --all-databases

Eğer sadece ERROR_LOG kontrolü ve sonuca göre bunları silmek istiyorsanız şu bilgileri kullanabilirsiniz :

Search in ALL /home/*/public_html directories and subdirectories for error_log files (Bu komut /home/*/public_html klasörü ve onun da alt dizinlerindeki error_log dosyalarını aramak içindir):

find /home/*/public_html -type f -name error_log -exec du -sh {} \;

Usage example (örnek):

root@web [~]# find /home/*/public_html -type f -name error_log -exec du -sh {} \;
4.0K    /home/sitename/public_html/error_log
4.0K    /home/sitename/public_html/wp-includes/ID3/error_log
9.0K    /home/sitename/public_html/wp-includes/theme-compat/error_log
4.0K    /home/sitename/public_html/wp-includes/SimplePie/error_log
4.0K    /home/sitename/public_html/wp-includes/SimplePie/Cache/error_log
root@web [~]# 

For big error+log files that use the most space. For this, sort the results.  (Çoğu zaman fazla yer kapalayan büyük error log dosyalarını bulup, listelemek için komut) :

find /home/*/public_html -type f -name error_log -exec du -sh {} \; | sort -n

List only the error_log files bigger than 100MB? (Sadece 100 MB ve daha büyük dosyaları listelemek için):

find /home/*/public_html -type f -name error_log -size +100000k -exec du -sh {} \;

Notice: Depending on number of files and accounts, these commands can run for a long time. (Bilgi: Sunucudaki dosya sayısı ve kullanıcı hesabı sayısı nedeniyle bu işlemler uzun zaman alabilir.)

How can delete these files (Şimdiye kadar sadece error_log bulmayı anlattık ancak bulmak yerine doğrudan bu dosyaları nasıl sileceğinize dair komutlar.)
To delete all the founded error_log files (Tüm error logları silme komutu):

find /home/*/public_html -type f -iname error_log -delete

To delete error_log files larger than 100MB (Boyutu 100 MB’tan büyük dosyaları silme komutu):

find /home/*/public_html -type f -iname error_log -size +100000k -delete

Add a cron job that will delete error_log files. Use the crontab -e command to edit the server jobs. (Hergün log temizliğiyle uğraşmak istemeyip, Cron yani zamanlamaya tüm hata dosyalarını otomatik olarak temizleme komutu yazmak için crontab editörüne girin)

crontab -e

Then add the line (the cron job will run every day at 04:30), Açılan sayfanın sonuna hergün saat 04:30 da temizliğe başlaması aşağıdaki komutu eklemelisiniz:

30 4 * * * find /home/*/public_html -type f -name error_log -delete

Exit the crontab editor by CTRL+X. Confirm the changes. (Editörden Çıkmak için ctrl+x tuşlaması yapıp, değişliği tamamlamalısınız).

Peki ya TMP klasörü temizliği nasıl yapılır?

Centos veya Linux türevlerinde whm/cpanel kullanıyorsanız zamanla tmp dizini şişmeye ve dolmaya başlar. Bu da bir süre sonra Mysql’in çalışamamasına ve serverin çökmesine, donmasına dahi neden olur. Bu nedenle belirli periyotlarda temp klasörünün boşaltılması ve temizlenmesi gerekir. Ancak dikkat edin ki bu klasörü kullanan mysql.sock dosyasını silmeyin. Bu sebeple süreyi çok kısa tutmayın (before you delete everything in the /tmp partition, be careful as often the mysql.sock file is in there if you run MySQL on the box and deleting that can cause big problems).

This command will safely clean the /tmp partition (Bu komut tmp dizini güvenli bir şekilde silmek için):

find /tmp -type f -mtime +3 -exec rm -f {} \;

This command is basically looking at the /tmp partition for files that are older than 3 days. (Bu komut tmp klasöründe bulunan 3 GÜNDEN ESKİ dosyaları siler) Yoğun çalışan bir server sahibiyseniz +1 (1 günden eski dosyalar) ve hatta koddaki +3 yerine +0 yazarak tüm dosyaları silebilirsiniz. Fakat yukarıda belirttiğimiz gibi mysql.sock da bu dizini kullanabildiğinden en fazla +1 yaparak temizlemekte güvenlik açısından fayda var.

Sonuç; WHM kullanan sunucu sahipleri için ve Cpanel terminal erişim yetkisi olanlar için bu değerli ve faydalı bilgileri sizlerle paylaşalım istedik. Zira belirli bir süre sonra büyüyen dosyalar ve özellikle log dosyaları harddisk alanında fazla yer kaplayarak diskin dolmasına ve sonuçta harddiskte boş alan bulamayan ve yazma işlemi yapamayan serverin kilitlenmesine neden olur. Bu sebeple berlirli zaman dilimlerinde logları silmek ve ayrıca dolan tmp klasörünü de boşaltmak gerekir. Mysql optimizasyonu da yer kalmayan diskte alan açmak için yararlıdır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*
*

This site uses Akismet to reduce spam. Learn how your comment data is processed.