הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה עם CRONJOB (https://hosts.co.il/forums/showthread.php?t=91549)

gillllll 18-08-11 10:14

בעיה עם CRONJOB
 
הודעה זו מתקשרת להודעה שפתחתי בפורום תחזוק שרתים, בדיעבד נראה לי שיש סיכוי יותר גבוהה שמישהו שמתכנת ידע לענות על השאלה מאשר מי שמתחזק שרתים ולכן אני פותח הודעה גם כאן בנושא.
(ההודעה המדוברת: http://www.hosts.co.il/forums/showthread.php?t=91535)
למרות שישנו הבדל בין השאלות כי שם בקשתי לדעת כיצד אני חוקר בעיה ורואה את הלוגים שלה כך בשרת בכל הקשור CRONJOB וכאן אני מחפש פתרון תכנותי

קיצור של הדברים שרשמתי שם:
ניסיתי להפעיל cronjob שמפעיל קובץ PHP בשרת שלי - בשרת פאנל DIRECTADMIN
הבעיה היא שנראה כי הCRONJOB רץ אך הקובץ לא מבצע את מה שהוא אמור לעשות כנראה שהוא לא מגיע לקובץ הרצוי או מגיע לקובץ הרצוי ולא עושה את הדברים שנרשמו בו ונבדקו על ידי כעובדים כאשר אני מריץ את הקובץ בעצמי.

אני לא רושם את השורת פקודה שרשמתי ב CRONJOB כי באמת שניסיתי ה-מ-ו-ן ועכשיו אני פשוט מעוניין למצוא מישהו התנסה ברשימה של הפקודה בתנאי העבודה שלי... וזה עובד לו.

2 דברים שאני חושד בהם - יש לי בדף שאני מפעיל INCLUDE אולי זה בעייתי?
והדבר השני, זה אולי אסור לי לפלוט תשובה - כיום יש תשובה שחוזרת שהיא בעיקר בשביל הבדיקות שלי ולא משפיעה על התהליך - השאלה היא האם יש עם זה בעיה מבחינת ה CRONJOB שיש פלט למסך שרשום בו נניח בוצע בהצלחה.

BlueNosE 18-08-11 14:05

לא בדיוק הבנתי מה אתה אומר אבל כעקרון אתה צריך לשים לב טוב טוב לגבי נתיבי האינקלודים שלך ופרטים נוספים שקשורים למערכת הקבצים.
הCJ רץ דרך PHP וככזה הוא אמור לקבל ממך נתיב מלא לעמוד. יש לך אפשרות לשלוח למייל את הOUTPUT של העמוד וכך לקבל אינדיקציה של הפעילות שלו.

טיפ שלי, אל תתחיל בגדול. שים קובץ פשוט שמתחבר למסד בלי אינקלודים ושטויות ומעדכן רשומה אחת, או פותח קובץ ומשנה את התוכן שלו. לאחר שהגיע זמן הריצה של הקובץ, תפתח את הקובץ שמשתנה ותבדוק אם התוכן שלו באמת השתנה. אם כן, הרי שהבעיה בקוד הארוך שלך ולא בCJ עצמו..

gillllll 18-08-11 16:19

אוקיי תודה רבה עומר, מה שהיה חסר לי זה המידע השימושי לגבי זה שנשלחת לי הודעת מייל עם הפלט!

- לצורך העניין אם מישהו יתקל בשאלה מהסוג הזה אי פעם הנה השורה שעבדה לי...

קוד:

cd /home/USERNAME/domains/YOUR_DOMAIN/public_html/ ; /usr/local/bin/php CRONFILE.php

Itay 19-08-11 00:01

השורה אמורה להיות עם מבנה די זהה בעקרון - קריאה ל-PHP ולציין לו איזה קובץ להריץ
כמו ש-BlueNose רשם - רוב הסיכויים במקרים כאלה זה שהבעיה היא בנתיב של האינקלוד, לצורך העניין אם הקובץ שאתה רוצה לאנקלד נמצא באותה תיקיה עם הקובץ שרץ ב-cron - לעשות לו include('file.php); ינסה בעצם לחפש את הקובץ file.php בתיקיה של ה-PHP

Tomer 20-08-11 14:15

אתה יכול לוותר על ה cd וישר להריץ את php /path/to/FILE . הטעות שלך מלכתחילה הייתה שלא אמרת ל cronjob עם איזו אפליקציה להריץ את הקובץ php (הוא לא מנחש שמדובר ב php)

gillllll 22-08-11 08:22

יש צורך לפי דעתי ב CD כיון שיש לי INCLUDE בקובץ....

בניה 23-08-11 20:43

אני משתמש ב WGET ונותן URL מלא לקובץ וכך הקובץ רץ בדיוק באותה צורה כמו שנכנסים אליו מהדפדפן.

gillllll 27-08-11 13:46

ציטוט:

נכתב במקור על ידי בניה (פרסם 816068)
אני משתמש ב WGET ונותן URL מלא לקובץ וכך הקובץ רץ בדיוק באותה צורה כמו שנכנסים אליו מהדפדפן.

אתה יכול לרשום את השורה שאתה משתמש בה? (שנכיר ובשביל מי שיריץ כאן חיפוש בעתיד :) )

דניאל 27-08-11 14:13

wget http://domain.com/path/to/url

Tal. 27-08-11 14:43

אני משתמשב ב:
ציטוט:

wget -O /dev/null http://www.site.com/file.php >/dev/null 2>&1
עובד מעולה ומבטל את השליחת לוג לאימייל.


כל הזמנים הם GMT +2. הזמן כעת הוא 01:38.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ