Müzakirə

Bash Script ile Log Temizleme

Başladan MysticFirewall · 11 avq 2026 11:16 · 1 Baxış · 0 Cavablar
Mövzunu Açan #0
Log dosyaları, sistem yöneticileri ve geliştiriciler için kritik öneme sahiptir. Ancak zamanla büyüyerek disk alanını tüketebilirler. Bu nedenle, log temizleme işlemleri yapmak gerekebilir. Bash scriptleri, bu tür otomatik temizlik işlemlerini gerçekleştirmek için oldukça etkili bir yöntem sunar.

Öncelikle, log dosyalarının nerede bulunduğunu ve ne tür verileri içerdiğini anlamak önemlidir. Genellikle, /var/log/ dizini altında birçok sistem logu bulunur. Bu log dosyalarının boyutlarının düzenli olarak kontrol edilmesi ve belirli bir boyutun üzerine çıktıklarında temizlenmesi gerekebilir.

Aşağıda, belirli bir dizindeki log dosyalarını belirli bir boyuta ulaştıklarında temizlemek için kullanılabilecek basit bir Bash script örneği bulunmaktadır.

CODE
12345678910111213141516171819
#!/bin/bash

[b]Log dosyalarının bulunduğu dizin[/b]
LOG_DIR="/var/log/myapp"
[b]Log dosyalarının maksimum boyutu (örneğin 10MB)[/b]
MAX_SIZE=$((10 * 1024 * 1024))

[b]Log dosyalarını kontrol et ve temizle[/b]
for log_file in "$LOG_DIR"/*.log; do
    if [ -f "$log_file" ]; then
        # Dosya boyutunu kontrol et
        FILE_SIZE=$(stat -c%s "$log_file")
        if [ "$FILE_SIZE" -gt "$MAX_SIZE" ]; then
            echo "Temizleniyor: $log_file"
            > "$log_file" # Dosyayı temizle
        fi
    fi
done


Bu script, belirtilen dizindeki .log uzantılı dosyaları kontrol eder. Eğer bir dosyanın boyutu 10MB'ı aşarsa, dosya temizlenir. Bu işlem, disk alanının verimli bir şekilde kullanılmasını sağlar.

Script'in çalıştırılabilmesi için dosyaya çalıştırma izni verilmelidir. Bunun için terminalde şu komutu kullanabilirsiniz:

CODE
12
chmod +x log_cleaner.sh


Son olarak, bu script'i belirli aralıklarla çalıştırmak için cron kullanabilirsiniz. Örneğin, her gün saat 02:00'de çalışması için crontab dosyasına aşağıdaki satırı ekleyebilirsiniz:

CODE
12
0 2 * * * /path/to/log_cleaner.sh


Bash script ile log temizleme, sistem yönetimi açısından önemli bir işlemdir ve otomatikleştirildiğinde sistemin sağlığını korumak için etkili bir yöntem sunar.

Cavab vermək üçün daxil olmalısınız.

0 sitat seçildi