ژوپین
  1. خانه
  2. بلاگ
  3. متفرقه
  4. رفع مشکل ایجاد تعداد زیاد فایل لاگ توسط کرانجابز (cronjobs)

رفع مشکل ایجاد تعداد زیاد فایل لاگ توسط کرانجابز (cronjobs)

متفرقه

نکات مهم این مطلب

کرانجابز چیست؟

cronjobs چیست و چه کاربردی دارد

wget در کرانجابز چه کاری انجام میدهد

ساخته شدن تعداد زیادی فایل لاگ توسط دستورات کرانجابز (cronjobs)

روش حذف فایل های لاگ تولید شده توسط کرانجابز

روش جلوگیری از ایجاد فایل لاگ توسط کرانجابز

کرانجابز یا cronjobs چیست ؟


کرانجابز یا cronjobs در اصل یک ابزار است که قادر است دستوراتی را به صورت روتین و زمانبندی شده طبق جدول زمانی که ما به آن میدهیم اجرا کند.


به عنوان مثال ما نیاز داریم هر روز صبح ساعت 7 ، دیتابیس خود را optimize کنیم. روش اول این است که هر روز خودمان به phpmyadmin رفته و این کار را انجام دهیم و روش دوم این است که از کرانجابز استفاده کنیم. به صورتی که در یک بخش از وب سایت خود یک فایل php ایجاد میکنیم و در آن کوءری (query) مینویسیم برای optimize دیتابیس که یک sql ساده است. حال در کرانجابز این فایل را توسط دستوری اجرا میکنیم . البته با زمانبندی مورد نظر که همان مثلا 7 صبح هر روز باشد. از این به بعد هر روز صبح ساعت 7 فایل php ما رصد میشود و کدهای php آن اجرا میشود و دیتابیس ما optimize می شود.


 


دستورات کرانجابز در هاست های لینوکس دقیقا مانند دستوراتی است که در ssh با آن کار میکنیم. در کل یک خط فرمان است.


مثلا برای خواندن یک url و اجرای آن مانند زیر عمل میکنیم:


wget http://zhupin.ir/index.php

برای اجرای یک فایل php در هاست خود هم میشود از wget استفاده کرد و هم از خواندن مستقیم. برای امنیت و برای اینکه افراد دیگری از طریق url به فایل php ما دسترسی نداشته باشند ، ما آن فایل را در یک فولدر محافظت شده قرار میدهیم که فقط خود سرور توانایی خواندن و نوشتن در آن را دارد که این امر با ایجاد یک فایل .htaccess در فولدر و قرار دادن کد deny from all میسر میشود.


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


/usr/local/bin/php /home/YOUR_USERNAME/public_html/path/file.php 

در کد بالا ابتدا مسیر مفسر php را وارد میکنیم که /usr/local/bin/php میباشد و در هر هاست یا سروری متفاوت است. سپس مسیر فایل php خود را میدهیم و زمان بندی مورد نظر برای روتین اجرا را هم ست میکنیم و تمام.


 


هر بار اجرای cronjobs برای هر دستور ، یک فایل لاگ در ریشه هاست یا home ایجاد میکند که بعد از مدت ها تعداد این فایل ها به هزاران عدد میرسد. تصور کنید 5 دستور دارید که هرکدام هر دقیقه اجرا میشوند. حال در طی 24 ساعت هر دستور 1440 بار اجرا میشود که برای 5 دستور میشود 7200 بار اجرا و طبعا 7200 فایل لاگ.


برای جلوگیری از ایجاد فایل لاگ توسط cronjobs باید مواردی را به دستورات اضافه کرد که در زیر نمونه ای از آن را میبینید


wget -q-O https://zhupin.ir/index.php >/dev/null 2>&1

 


/usr/local/bin/php -q-O /home/YOUR_USERNAME/path/file.php >/dev/null 2>&1

 


همانطور که میبینید بل از دستور از مقادیر -q-O و در آخر هم از >/dev/null 2>&1 استفاده کردیم که مهمتر است.


 

رفع مشکل ایجاد تعداد زیاد فایل لاگ توسط کرانجابز (cronjobs)
نمایش 433
لایک 2
برچسب ها :
cronjob cronjobs کرانجابز فایل لاگ log files

نظرات



ارسال نظر

جهت قرار دادن کد در متن کامنت ، متن مورد نظر را انتخاب کنید و دکمه بالا را بزنید

گفتگو با پشتیبان