POSTFIX tarafından yönetilen toplu gelen kutusu postaları


2

Birkaç saat önce, tehlikeye giren bir müşteri posta hesabıyla ilgili bir sorun oluştu. Sonuç olarak, postfix'de yüz binlerce spam kuyruğuna girerek birkaç soruna yol açtı. Her şey sabit ve güvenliğe bağlı, "küçük" bir sorun dışında: müşteri şimdi gelen kutusunda 100 bine yakın geri gönderilen posta postasına sahip. Ve belli ki, her şey önemsiz olmadığı için, bazı filtrelemeyle birlikte toplu bir işlem arıyorum. PF, maildir ile Ubuntu sunucusu v10.x üzerinde çalışır.

Bu komutu aynı dosyaları içeren yedeklenmiş bir klasörde denedim:

grep -l -r 'Undelivered' | xargs rm

Fakat kaçmaktan başka bir şey yapmıyor gibi görünüyor.

Bu, tüm "postaların" bu şekilde adlandırılmış dosyalar içinde saklanmasından kaynaklanabilir:

1395063807.V902Ib2081dM533672.ip.ip.ip: 2,


Posta kutusu türünüz nedir? mbox, maildir veya diğeri? Ne pop/imap sunucu kullanıyor musunuz
clement

Maildir kullanarak, ancak sorun çözüldü: sadece çalışması için bir dizin gerektiren eski bir grep sürümü kullanıyordu.
shroom

Yanıtlar:


1

Sürümüne bağlı olarak grep, bu sonsuza kadar bekleyebilir, çünkü bir dosya (veya dizin) ismi argüman olarak vermediniz; grep 'nin geçerli çalışma dizinini kullanma davranışı -r Belirtilen oldukça yeni bir özelliktir. Bu nedenle, sürümünüz eski bir sürüm ise, bu aramanız giriş için sonsuza kadar bekleyebilir. stdin. Sadece ekle . son argüman olarak grep bu davayı önlemek için.

Dosya adlarıyla ilgili sorunlardan kaçınmak için (bu durumda sorun olmamalı), arama yapmak en güvenli yöntemdir

grep -Zl -r 'Undelivered' . | xargs -0 rm --

Bu yoldan, grep eşleşen dosya adlarını sıfır bayt olarak çıkarır ( '\0' ) ayrılmış, bu da dosya adlarında boşluk ve benzeri sorunlardan kaçınır. -- anlatır rm Aşağıdaki argümanları seçenek olarak ele almamak için, örneğin bir dosya adı bir - kırılmaz.

Bu komutun bir şey yapıp yapmadığını görmek için, -v seçenek rm, böylece görebileceksin rm aslında bir şeyi kaldırır mı (önünde --, tabii ki).


Çok teşekkürler, gerçekten de telefonu kapatmaya neden olan o noktayı unutmak için kendimi aptal hissediyorum.
shroom

Bu cevabı ben de almak için düzenlemek zorunda kaldım, bu yüzden kötü hissetme. ;) Gentoo kullanıyorum / test ediyorum grep ihmali destekliyor .Ben de düzenli olarak diğer makinelere düşüyorum.
Andreas Wiese
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.