سؤال

أحاول تشغيل برنامج نصي اختبار باستخدام Crontab داخل Plesk. ملف PHP ببساطة أرسل لي رسالة عبر البريد الإلكتروني

mail('me@somewhere.com','Cron Test','Test');  

طريقي إلى PHP IS/user/bin/php

لقد دخلت * في كل حقل ، لتشغيل البرنامج النصي كل دقيقة مع الأمر التالي:

/usr/bin/php -q /usr/httpdocs/crontest.php

ومع ذلك ، لا يتم تشغيل البرنامج النصي.

هل أستطيع مساعدتك؟

ربما أفتقد شيئًا بسيطًا ، لم أستخدم كرون من قبل.

أي نصيحة موضع تقدير.

شكرًا.

هل كانت مفيدة؟

المحلول

أود أن أبدأ بالحصول عليه على الكتابة إلى ملف السجل. على سبيل المثال:

* * * * * /usr/bin/php -q /usr/httpdocs/crontest.php >> /a-location/crontest.log 2>&1

سيعطيك هذا على الأقل أي أخطاء واضحة مثل عدم القدرة على العثور على PHP وما إلى ذلك.

نصائح أخرى

لقد وجدت أنه عند استخدام CRON المستند إلى المستخدم في PLESK ، هناك عدد من المشكلات:

أولاً ، وجدت أنه يجب عليك الرجوع إلى البرنامج النصي من المجال الظاهري. إذا كان البرنامج النصي الخاص بك يحتوي على عنوان مطلق من /var/www/vhosts/domain.com/httpdocs/email-this.php ، فيجب عليك الإشارة إليه باسم httpdocs/email-this.php في crontab.

ثانياً ، يجب أن يكون للنص أذونات معينة للغاية ، ولكن ليس متأكدًا مما يجب أن يكون عليه ". Apache: Apache هو كل ما نجح بالنسبة لي. حتى مع مجموعة إذن كتابة المجموعة ، لا يزال يتعين على المستخدم أن يكون Apache ... غريب.

ثالثًا ، كانت أسهل طريقة لإجراء الاختبار هي تحرير crontab مباشرة بدلاً من العودة إلى Plesk في كل مرة كنت بحاجة لإجراء تغيير ... قم بتحرير crontab مثل هذا:

crontab -u [fileystem -username] -e

رابعًا ، لم أتمكن أبدًا من الحصول على crontab للكتابة إلى ملف سجل خارج httpdocs (جربت الإحصائيات/السجلات/cron_log بكل طريقة يمكن أن أفكر فيها ... لول ... لا نرد). انتهى بي الأمر فقط إضافة توجيه Mailto في الجزء العلوي من ملف Crontab أثناء الاختبار:

على سبيل المثال:

MAILTO=you@domain.com
##      *       *       *       *       *       php -q httpdocs/cron.php

انظر أيضًا هذا إذا كان لديك Plesk 10 أو أعلى: http://shaun.net/2011/09/solving-plesk-10-3-1-cron-issues/

توجب علي فعل هذا

/usr/local/psa/bin/server_pref -u -crontab -secure -shell "/bin/sh"

للحصول على هذا (مثال) العمل: wget -o - http://www.yourdomain.com/cron.php

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top