Merhaba, bu yazımda sizlere basit bir script ile log dosyasının nasıl silineceğini ve cronjob oluşturmayı anlatıyor olacağım.
Linux işletim sistemi ve çalışan uygulamalar sürekli olarak çeşitli günlük dosyalarında, günlüğe kaydedilen çeşitli türlerde mesajlar üretir.
Günlük kaydı, sistemin çalışması ve hataları hakkında ana bilgi kaynağıdır.
Günlük dosyalarının çoğu /var/log dizininde bulunur.
Öncelikle scripti barındıracağımız klasörü oluşturalım.
$ cd ~/
$ mkdir script
Oluşturmuş olduğumuz script klasörünün içine shell script dosyası oluşturuyoruz.
$ cd script
$ touch delete_logs.sh
$ chmod +x delete_logs.sh
Benim örneğimde syslog log’larını temizleyeceğiz. Ubuntu olduğu için syslog olarak geçiyor, OS Centos olsaydı bu sefer message log’larını temizleyecektik.
delete_logs.sh‘ı favori metin düzenleyiciniz ile düzenleyerek aşağıdaki betiği yazıp kaydedip çıkıyoruz.
# Linux script to delete Log files weekly
#!/bin/sh
sudo rm -rf /var/log/*syslog*.log
Şimdi, delete_logs.sh betiğimizi zamanlamak için cronjob oluşturmamız gerekiyor. Bu cronjob haftada bir Pazar saat 00:00’da yürütülecektir. (0 0 * * 0)
Cronjob zamanlamalarını düzenlemek için hızlı ve basit düzenleyici kullanmak isterseniz ilgili linki tavsiye ederim. Crontab Guru
Crontab dosyasını düzenlemek ilgili satırı çalıştırmanız yeterli olacak.
sudo crontab -e
Aşağıdaki betiği yapıştırın ve kaydedip çıkın.
0 0 * * 0 /bin/sh /root/script/delete_logs.sh
Artık cronjob her hafta delete_logs.sh betiğini çalıştıracak.
Bir sonraki yazımızda görüşmek üzere. Faydalı olması dileğiyle.