Öncelikle Coslat üzerinde loglar /var/log/imzalikayitlar klasöründe 5651portal, 5651dhcp ve 5651url klasörlerinde saklanıyor. Linux find komutunun son 6 aydan daha eski dosyaları/klasörleri bulmak için şöyle bir kullanımı var:
find /var/log/imzalikayitlar/5651url -type d -mtime +180Bu burada
-type d : sadece klasörleri bul
-mtime +180 : son değiştirilme tarihi 180 günden öncekileri bul. Artı işaretini kullanmadan 180 yazılırsa tam 180 gün önce değiştirileni bulur. -180 yazılırsa son 180 gün içinde değiştirilen dosyaları bulur.
Buna bir de -exec parametresini ilave edersek
find /var/log/imzalikayitlar/5651url -type d -mtime +180 -exec rm -rf {} +
bu şekilde 180 günden önce değiştirilmiş dosyaları silecektir. Ben bu satırı hem 5651dhcp hem de 5651portal alt klasörleri için de yaptım. Sonlandırma olarak \; yazınca dosyaları siliyordu, ama yine de dosyalar bulunamadı diye hata veriyordu. Bunun yerine +'yı kullandım. Nihayetinde /root altında coslat.sh dosyası oluşturup içine şu satırları ekledim:
find /var/log/imzalikayitlar/5651portal -type d -mtime +180 -exec rm -rf {} +
find /var/log/imzalikayitlar/5651dhcp -type d -mtime +180 -exec rm -rf {} +
find /var/log/imzalikayitlar/5651url -type d -mtime +180 -exec rm -rf {} +
Sonra da bir zamanlanmış görev oluşturabilmek için
# crontab -e
komutunu vererek boş bir editör sayfasını açılmasını sağlayarak içine şu satırı girdim:
1 0 1 * * sh /root/coslat.sh
Burada sırasıyla:
1: dakika (0-59)
0: saat (0-23)
1: Ayın kaçıncı günü (0-31)
*: Hangi ay (0-12 [12:Aralık])
*: Haftanın günü (0-7 [7:Pazar])
yani kısaca her ayın 1'inde saat 00:01'de /root/coslat.sh komutunu sh ile çalıştır diyorum. Kullandığımız komut bir parametreye ihtiyaç duyuyorsa bunu satırın devamına yazabiliriz.
2024-12-05 ek: SSH ile bağlanmak için
ssh admin@IP-adresi
yazmak yetmeyebilir. Eğer
ssh no matching host key type found. Their offer: ssh-rsa,ssh-dss
gibi bir hata alıyorsak ssh ile bağlanırken
-oHostKeyAlgorithms=+ssh-dss
eklemek çözümlerden biri olabilir. Yani tam bağlantı komutu şöyle birşey olmalı:
ssh admin@IP-adresi -oHostKeyAlgorithms=+ssh-dss
Bağlandıktan sonra shell'e geçmek için
shell
yazmak gerekcek.
[1] https://stackoverflow.com/questions/6085156/using-semicolon-vs-plus-with-exec-in-find
[2] https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/