Aramayan Bulamaz
×
bash etiketine ait içerikleri görüntülemektesiniz.
Linux İşletim Sistemi Üzerinde Toplu Olarak Log Temizliği

Linux işletim sistemi çalıştığı süre boyunca karşılaşılan hatalar, sistem uyarıları vs her şeyin kaydını tutmaktadır. Bu kayıtlar bir zaman sonra büyük boyutlara ulaşabiliyor. Bu da haliyle harddisk üzerinde yer kaplamakta. Bu durum ev kullanıcıları için çok bir şey farkettirmese de web sunucuları üzerinde yer sıkıntısı yaşanabiliyor. Sunucu üzerinde gerekli bakımlar vs yapılmadığı durumlarda log dosyaları büyük boyutlara ulaşabiliyor.

Linux işletim sistemi üzerinde log dosyaları /var/log altında bulunur. Bu log dosyalarını tamamen silmek işletim sistemine zarar verir. Sisteme zarar vermemek için bu dosyaların içlerini boşaltmak gerekir. Örneğin mail gönderme loglarını temizleyecekseniz "rm -rf /var/log/maillog" komutunu çalıştırmak sisteme zarar verecektir. Bu durumda maillog dosyası silinir ve bir daha buraya log yazamayacağı için sistem sorun çıkartır. Bu log dosyasının içini ":> /var/log/maillog" bu şekilde temizleyebiliriz. Ancak /var/log dizini altında bir çok dosya ve dizin bulunmakta, tek tek hepsini temizlemek de zaman alabilir. Log dosyalarının temizleme işlemini aşağıdaki komutlar ile daha hızlı bir şekilde halledebilirsiniz. Bu komutlar "sh" uzantısı ile kaydetmeniz gerekmektedir.

#!/bin/bash # Muhammed Niyazi ALPAY # https://niyazi.org find /var/log/ -type f >logdosyalari.txt while read line do NAME=`echo "$line" | cut -d'.' -f1` EXTENSION=`echo "$line" | cut -d'.' -f2` rm -rf $NAME.gz :> "$line"; done <logdosyalari.txt rm -rf logdosyalari.txt rm -rf /var/log/*-2* rm -rf /var/log/*.2* echo "Log dosyaları silindi"

Bu komutları logclear.sh olarak kaydettikten sonra çalıştırırsanız /var/log içerisindeki ve alt dizinlerindeki tüm log dosyaları temizlenecektir.

Linux Sunucu Üzerinde Web Siteleri İçin Toplu Olarak Dizin ve Dosya İzinlerinin Yapılandırılması

Linux sunucu üzerinde bulunan web siteleri için dosya ve dizinlerin yazılabilirlik ayarlarını yapmak bazen zaman alabiliyor. Örneğin FileZilla ile alt dizinler seçeneği seçilip sadece klasörlere uygula işaretlendiğinde veya sadece dosyalara uygula seçildiğinde FTP üzerindeki dosya miktarına göre işlem uzun sürebiliyor. SSH üzerinden yalnızca chmod komutu ile de işlem yapıldığında da ya tüm alt klasörlerle birlikte herşeye izinler tanımlanır ya da tek bir dizin içerisinde bulunanlara. Aşağıdaki komut ile bulunduğunuz dizin ve alt dizinlerindeki dosya veya dizinlerin yazılabilirlik ayarlarını ayarlayabilirsiniz.

chmod 755 $(find /dosya-veya-dizin-yolu -type d) chmod 644 $(find /dosya-veya-dizin-yolu -type f)

-type d (directory) yalnzıca dizinleri belirtir, -type f (file) ise yalnızca dosyaları. Dizinlerin yazılabilirlik izinleri 755, dosyaların ise 644 olması gerekir. Her defasında sunucu üzerindeki farklı farklı siteler için dosya yolu veya dizin yolu yazmak yerine aşağıdaki komutları .sh uzantısı ile kaydedip sitenin bulunduğu dizin altında çalıştırmanız daha hızlı olacaktır.

#!/bin/bash directory=`pwd` chmod 755 $(find $directory -type d) chmod 644 $(find $directory -type f)

Burada dikkat edilmesi gereken şey bu .sh uzantılı dosya yalnızca sitenin bulunduğu dizinde çalıştırılmalıdır. Farklı bir yerde çalıştırılması sunucunun zarar görmesine sebep olabilir.

  • Önceki Sayfa
  • Sonraki Sayfa