Proxmox Mail Gateway (PMG), e-posta güvenliği ve filtreleme için güçlü bir çözümdür. PMG, günlük spam raporlarını kullanıcılarla paylaşabilmek için pmgspamreport
servisini kullanır. Ancak, varsayılan olarak bu servis sadece belirli sistem olaylarına göre çalışır. Eğer belirli saatlerde çalıştırmak isterseniz, systemd timer kullanabilirsiniz.
Bu makalede, pmgspamreport servisini her gün 07:00, 09:00, 11:00, 13:00, 15:00, 17:00 ve 19:00 saatlerinde otomatik olarak çalıştırmak için systemd timer oluşturmayı öğreneceksiniz.
Systemd, modern Linux sistemlerinde servisleri yönetmek için kullanılan güçlü bir init sistemidir. cron
gibi geleneksel zamanlayıcılar yerine, systemd timer kullanarak zamanlanmış görevleri yönetebilirsiniz. Timer’lar, belirli bir saat, tarih veya sistem olayına göre servisin çalışmasını sağlar.
Bu yöntemin avantajları:
Öncelikle, systemd için bir timer dosyası oluşturacağız. SSH ile sunucunuza bağlanın ve aşağıdaki komutu çalıştırarak bir timer dosyası oluşturun:
nano /etc/systemd/system/pmgspamreport.timer
Bu dosyanın içerisine aşağıdaki satırları ekleyin:
[Unit]
Description=Run pmgspamreport at specific times
[Timer]
OnCalendar=*-*-* 07:00:00
OnCalendar=*-*-* 09:00:00
OnCalendar=*-*-* 11:00:00
OnCalendar=*-*-* 13:00:00
OnCalendar=*-*-* 15:00:00
OnCalendar=*-*-* 17:00:00
OnCalendar=*-*-* 19:00:00
Persistent=true
[Install]
WantedBy=timers.target
Bu yapılandırma, her gün belirtilen saatlerde (07:00, 09:00, 11:00, 13:00, 15:00, 17:00 ve 19:00) pmgspamreport servisini çalıştıracaktır.
Dosyayı kaydedin (CTRL + X
, ardından Y
ve Enter
).
Timer’ımızın çalıştıracağı pmgspamreport.service dosyasını oluşturmalıyız:
nano /etc/systemd/system/pmgspamreport.service
Aşağıdaki içeriği ekleyin:
[Unit]
Description=Run pmgspamreport script
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/pmgspamreport
[Install]
WantedBy=multi-user.target
Bu servis dosyası, timer tarafından tetiklendiğinde pmgspamreport komutunu çalıştıracaktır.
Dosyayı kaydedin (CTRL + X
, ardından Y
ve Enter
).
Şimdi systemd yapılandırmasını yeniden yükleyelim ve timer’ı aktif hale getirelim:
systemctl daemon-reload
systemctl enable pmgspamreport.timer
systemctl start pmgspamreport.timer
Bu komutlar:
daemon-reload
→ Systemd’yi yeniden yükler ve yeni timer’ı tanır.enable
→ Timer’ın sistem açılışında otomatik başlamasını sağlar.start
→ Timer’ı hemen başlatır.Timer’ın başarıyla çalıştığını doğrulamak için şu komutu kullanabilirsiniz:
systemctl list-timers --all | grep pmgspamreport
Bu komut çıktısında bir sonraki çalışma zamanlarını görebilirsiniz. Çıktı şu şekilde görünmelidir:
Wed 2025-03-19 07:00:00 +03 6h left Wed 2025-03-18 19:00:00 +03 1h ago pmgspamreport.timer pmgspamreport.service
Eğer istediğiniz zamanlarda çalıştığını görüyorsanız, kurulum tamamlanmış demektir! 🎉
Zamanlayıcının doğru çalıştığını test etmek için timer’ın tetikleyeceği servisi elle çalıştırabilirsiniz:
systemctl start pmgspamreport.service
Logları görmek için:
journalctl -u pmgspamreport.service --since "5 minutes ago"
Bu komut, son 5 dakikada çalıştırılan pmgspamreport loglarını gösterecektir.
Bu makalede, Proxmox Mail Gateway üzerinde pmgspamreport servisini belirli saatlerde otomatik olarak çalıştırmak için systemd timer kullanmayı öğrendik. Systemd timer, cron’a göre daha esnek ve güvenilir bir zamanlama yöntemi sunar.
Özetlemek gerekirse:
/etc/systemd/system/pmgspamreport.timer
) oluşturduk./etc/systemd/system/pmgspamreport.service
) oluşturduk.Bu yöntem sayesinde, spam raporları belirlediğiniz saatlerde otomatik olarak gönderilecektir. Eğer eklemek istediğiniz özel saatler veya farklı servisler varsa, OnCalendar satırlarını düzenleyerek kendi ihtiyaçlarınıza göre özelleştirebilirsiniz.
Umarım bu rehber faydalı olmuştur! 🚀 Eğer herhangi bir sorun yaşarsanız, logları kontrol ederek hataların kaynağını tespit edebilirsiniz.