السلام عليكم .
لا حدا يعاتبني ، أعلم انه مضى على إنقطاعي عن سوالف الحبيبة أكثر من سنه
ولكن كل هذا بسبب المشاغل والعمل الذي لا يرحم وارتفاع الأسعار الرهيب في سورية .
على العموم وعلى ذكر إرتفاع الأسعار الكل يعرف أن إرتفاع نسبة أسعار القبض على السبامرز باتت جيدة في السوق فكل سبامر ب عشرة ريال
شخصيا كنت بالماضي أعاني من مصيبة أنه أحيانا تجد اللود على السيرفر عالي وطبعا بما أني السيرفر ادمن ، يجب أن أعرف ما السبب . وبعد تطبيق أشهر الأوامر لمعرفة اللود ... كالعادة سبامر جديد مركب ميل ليست على مساحتة بالسيرفر .
يعني أن احد له عدد الإرسال ب 100 رسالة بالساعة لن يحل الأزمة . بل ما يحل الأزمة سسبند لمساحة هذا السامر . لذا كانت المقولة الحاجة أم الإختراع حق .
نبدأ بعون الله :
بداية أنا أفترض أنه لديك Cpanel + WHM .
1- إفتح لوحة التحكم ال WHM ومن ثم إذهب إلى خيارات تعديل ملف الإكزيم - إذهب إلى الوضع المتطور - وأضف السطور التالية في أول صندوق فارغ :
كود PHP:
log_selector = +all
message_logs = false
rfc1413_query_timeout = 0s
2- الان طبق هذا الأمر عن طريق الشل وذللك لتفريغ اللوق الخاص بالبريد :
كود PHP:
> /var/log/exim_mainlog
> /var/log/exim_paniclog
> /var/log/maillog
> /var/log/exim_rejectlog
> /var/log/messages
rm -rf /var/log/exim_paniclog.[1-9].gz
rm -rf /var/log/exim_mainlog.[1-9].gz
rm -rf /var/log/exim_rejectlog.[1-9].gz
rm -rf /var/log/messages.[1-9]
rm -rf /var/log/maillog.[1-9]
rm -rf /var/log/secure.[1-9]
واعمل ريستارت للإكزيم .
كود PHP:
/etc/init.d/exim restart
3 - الان أفتح ال SSH من جديد . انشئ ملف جديد وسمة php_track_spamers
كود PHP:
pico php_track_spamers
وضع فية الكود التالي :
كود:
#!/bin/bash
day=`date +%d`
year=`date +%Y`
month=`date +%m`
path="/home"
> /tmp/allpublic_html.txt
all_public_html=`grep '/public_html' /var/log/exim_mainlog > /tmp/allpublic_html.txt`
all_count=`cat /tmp/allpublic_html.txt | wc -l`
if [ $all_count != "0" ]
then
for a in $path/* ; do
if [ $a != "pkgall.sh" ]
then
smart="${a:6}"
nobody_count=`grep /home/$smart/public_html /tmp/allpublic_html.txt | wc -l`
today_nobody_count=`grep '/home/'$smart'/public_html' /tmp/allpublic_html.txt | grep $year-$month-$day | wc -l`
if [ $nobody_count != "0" ]
then
echo $smart "Total ("$nobody_count") Today ("$today_nobody_count")#" `grep /home/$smart/public_html /tmp/allpublic_html.txt |awk '{print $1,$4}' | tail -1`
fi
fi
done
fi
rm -f /tmp/allpublic_html.txt
بعد حفظ الملف ...
يجب علينا أن نقوم بتعديل الصلاحيات :
كود:
chmod 755 php_track_spamers
هذا الكود الجميل سوف يقوم بعملية البحث ضمن ملفات اللوق وايجاد التالي :
1- إسم المستخدم لكل مساحة منشة على السيرفر .
2- عدد المرات التي التي قام باستخدام منفذ البريد لإرسال البريد . في اليوم الحالي و الاجمالي
مثال عن أسلوب الإخراج للبيانات :
كود:
abuarabh Total (15) Today (2)# 2008-10-04 cwd=/home/abuarabh/public_html
aladibn Total (9) Today (0)# 2008-10-03 cwd=/home/aladibn/public_html/arabic/news
alitijah Total (3) Today (0)# 2008-10-03 cwd=/home/alitijah/public_html/newweb
amalkom Total (8) Today (0)# 2008-10-03 cwd=/home/amalkom/public_html/site
darhiraa Total (13) Today (0)# 2008-10-03 cwd=/home/darhiraa/public_html
f
3- مكان تواجد السكريبت الذي إستخدمة لإرسال البريد . cwd
4- يخطرك بتاريخ أخر إرسال
أفكر بتطوير السكريبت ليكون مع واجهات و إحصائيات كاملة تخزن ضمن SQL ولكن هذا الملف يكفيني وزيادة .
ربما تواجه بطء أحيانا نتيجة عدد المستخديمين الكبير الذي تملكة .
الأن لكي تصلك المعلومات إلى بريدك بشكل يومي .
أضف كورن جوب .
ومن ثم أدخل السطر التالي :
كود:
0 18 * * * /php_track_spamers | mail -s 'PHP Mail Useg' myemail@gmail.com
أنا إفترضت أن صفحة php_track_spamers موجودة مباشرة على / .
أتمنى أن يكون هذا الموضوع مفيد للبعض - وان لم يكن مفيد للبعض الأخر فقط أتمنى منهم الدعاء لي بشفاء النفس !
جزاكم الله خير .
أخوكم في الله بيشو .