امروز: ۰۳ آذر ۱۴۰۳
در مسیر توسعه فردی و سازمانی
اشتراک دانش اسماعیل شریف » اسکریپت برای پاک کردن خودکار semaphore (۱۳۹۵/۶/۲۳)
تایید شده

در وب سرور apache, سمافورها برای پردازش ارتباط بین مبدا و مقصد استفاده ميشود.


زمانیکه سمافورها پر بشن ، وب سرور عملکرد مناسبی نداره و ممکن هست قطع بشه ، در این مواقع در error log مربوط به apache خطای زیر رو مشاهده میکنید:


No space left on device: Couldn't create accept lock


و سایتها مشاهده نمیشن


من در این مقاله اسکریپتی را به شما معرفی میکنم که سمافورها را هر یک ساعت بررسی کنه .


برای اینکار فایل زیر را ایجاد میکنیم:


/etc/cron.hourly/ipcs_check


و محتوای زیر را داخلش وارد میکنیم:


!/bin/sh

EMAIL=your@email.com
MAX_SEMAPHORES=15

IPCS=/usr/bin/ipcs
IPCRM=/usr/bin/ipcrm
MAIL=/bin/mail

COUNT=`${IPCS} | grep apache | wc -l`

if [ "$COUNT" -le $MAX_SEMAPHORES ]; then
       #all is well, there are no semaphore build-ups.
       exit 0;
fi

#we have more than MAX_SEMAPHORES, so clear them out and restart Apache.

LIST=/root/sem.txt

${IPCS} | grep apache | awk '{print $2}' > ${LIST}
for i in `cat ${LIST}`; do
{
       ${IPCRM} -s $i;
};
done;

/etc/init.d/httpd restart

TXT="${COUNT} semaphores cleared for apache for `hostname`"
echo "${TXT}" | ${MAIL} -s "${TXT}" ${EMAIL}

exit 1;


و پرمیژن این فایل را 755 قرار میدهیم.


بنده این اسکریپت رو تست کردم و کارکردش چک شده .


شما هم میتونین تست کنین تا از قطعی های احتمالی در مواقع پر شدن سمافورها جلوگیری کنید.

محتوای آخرین دربهای گشوده شده
  • یک باک بنزین 206 معادل 75000 ت بوسیله کلیدک
  • 45000 تومان وجه نقد رایج مملکت بوسیله کلیدک
  • بن خرید یک عدد پیتزا American معادل 35ت بوسیله کلیدک
  • دو عدد  کارت سبز بوسیله کلیدک
  • دو روز ناهار میهمان شرکت به انتخاب خودتان معادل هر نهار ۳۰ ت بوسیله کلیدک
  • بن خرید یک عدد پیتزا American معادل 35ت بوسیله کلیدک
  • بن خرید یک عدد پیتزا American معادل 35ت بوسیله کلیدک
  • 45000 تومان وجه نقد رایج مملکت بوسیله کلیدک
ارسال درخواست دوره یا محتوای آموزشی