וועבסיטעס קענען לויפן סקעדזשולד טאַסקס מיט Cron

זייגער

מיר האָבן אַ נומער פון יבעריק מאָניטאָרינג סיסטעמען אין אַרבעט וואָס קעסיידער דורכפירן פּראַסעסאַז. עטלעכע לויפן יעדער מינוט, עטלעכע אַמאָל אַ נאַכט דיפּענדינג אויף וואָס זיי טאָן. פֿאַר בייַשפּיל, מיר קענען דורכפירן אַ שריפט וואָס עקספּאָרץ אַלע קאַסטאַמערז וואָס האָבן נישט דורכגעקאָכט אין 30 טעג צו שיקן זיי אַ קופּאָן.

אלא ווי טריינג צו האַלטן שפּור פון אַלע די דורך האַנט, עס איז פיל גרינגער צו בויען דזשאָבס וואָס זענען אויטאָמאַטיש סקעדזשולד און עקסאַקיוטאַד. אויף יוניקס-באזירט סיסטעמען, דאָס איז אַטשיווד מיט Cron. פֿאַר מענטשן וואָס וויסן וואָס איר טאָן, פילן פריי צו לערנען מיר און די לייענער אויב איך דיסאַפּירז דיסינפאָרמיישאַן.

עס איז נעבעך, אָבער די טיפּיש וועב דעוועלאָפּער איז בכלל נישט באַקאַנט מיט Cron. אפילו אויב זיי טאָן דאָס, וועב האָסטינג קאָמפּאַניעס אָפט נישט צושטעלן אַקסעס אָדער שטיצן פון Cron. מייַן באַלעבאָס איז איינער פון די לעצטע - זיי לאָזן איר נוצן עס, אָבער זיי טאָן ניט שטיצן עס.

וואָס איז Cron?

Cron איז געהייסן פֿאַר די גריכיש וואָרט Chronos, טייַטש צייַט. Cron לויפט אין אַ קעסיידערדיק שלייף צו לויפן טאַסקס וואָס זענען אַקיומיאַלייטיד דורך Crontab (טאָמער געהייסן פֿאַר קוויטלולאַטאָר. די טאַסקס זענען יוזשאַוואַלי ריפערד צו ווי Cronjobs און קענען דערמאָנען סקריפּס אין דיין פּלאַץ.

Cron Diagram דערקלערונג

ווי אַזוי טאָן איך שטעלן די קראָנטאַב?

עס קען זיין טשאַלאַנדזשינג צו באַקומען Cron אַקשלי, אַזוי דאָס איז וואָס איך געלערנט און ווי אַזוי איך טאָן דאָס אויב סאַק:

  1. איך שטעלן מיין שריפט צו קאָנטראָלירן טוויטטער אַפּי צו זען צי עמעצער האט געענטפערט @ifsuck. איך קאַמפּערד די אַרטיקלען צו די אַרטיקלען וואָס איך שוין געראטעוועט אויף דעם וועבזייטל און אַרייַן קיין נייַע אַרטיקלען.
  2. אַמאָל די שריפט איז ארבעטן, איך דערלויבן דערלויבעניש פֿאַר דער באַניצער צו דורכפירן די שריפט (744) און צוגעלייגט דעם שריפט דערמאָנען צו מיין Cronjob טעקע - מער וועגן דעם שפּעטער.
  3. איך האָב דעמאָלט צו לאָגין צו מיין וועבזייטל דורך סש. אויף אַ מעק אַז עפן טערמינאַל און טייפּינג SSH נאמען@domain.com וווּ די נאמען איז געווען דער נאמען וואָס איך וואָלט ווי צו נוצן און די פעלד איז די וועבזייטל. איך איז געווען דעמאָלט פּראַמפּטיד פֿאַר און געגעבן דעם פּאַראָל.
  4. דערנאָך איך געפרוווט צו לויפן די שריפט גלייַך פון די באַפֿעל פּינטלעך דורך טייפּינג די פילענאַמע און קאָרעוו דרך אויף די סערווער: /var/www/html/myscript.php
  5. אַמאָל איך גאַט עס ארבעטן ריכטיק, איך צוגעגעבן די נייטיק יוניקס קאָד אין דער ערשטער שורה פון דער טעקע: #! / וסר / בין / פפּ -ק . איך גלויבן אַז דאָס פשוט זאגט יוניקס צו נוצן PHP צו ויספירן די שריפט.
  6. ביי די טערמינאַל באַפֿעלן שורה איך טייפּט crontab (אנדערע קען דאַרפֿן צו דרוקן crontab -e) און שלאָגן אַרייַן ... און דאָס איז געווען אַלע וואָס איז געווען דארף!

סינטאַקס פֿאַר דיין Cronjob טעקע

וועגן # 2 אויבן, Cron ניצט אַ ינדזשיניאַס סכעמע צו באַשליסן ווען דיין סקריפּס וועט זיין עקסאַקיוטאַד. אין פאַקט, איר קענט טאַקע נאָכמאַכן און פּאַפּ עס אין דיין Cronfile (אויף מיין באַלעבאָס, עס איז לאָוקייטאַד אין / וואַר / שפּולקע / קראָן / מיט די פילענאַמע די זעלבע ווי מיין נאמען).

# + —————- מינוט (0 - 59)
# | + ————- שעה (0 - 23)
# | | + ———- טאָג פון חודש (1 - 31)
# | | | + ——- חודש (1 - 12)
# | | | | + —- טאָג פון וואָך (0 - 6) (זונטיק = 0 אָדער 7)
# | | | | |
* * * * * /var/www/html/myscript.php

די אויבן וועט דורכפירן מיין שריפט יעדער מינוט. אויב איך נאָר געוואלט עס זאָל לויפן איין מאָל אַ שעה, איך וואָלט נאָר שטעלן ווי פילע מינוט נאָך די שעה איך ווינטשן עס צו לויפן, אַזוי אויב עס איז געווען אין די 30 מינוט:

30 * * * * /var/www/html/myscript.php

זייט זיכער אַז איר שטעלן די פּערמישאַנז צו דעם טעקע ווי עקסאַקיוטאַבאַל, אויך! איך געפֿונען אַז סינטאַקס, פּערמישאַנז און עקסאַקיוטאַד קראָנטאַב פון די טערמינאַל פֿענצטער זענען די מערסט וויכטיק סיבות. יעדער מאָל איך'ווע ראַטעווען די טעקע, איך'ד אויך געפֿינען מיין פּערמישאַנז.

UPDATE: אויב איר'ד ווי צו ענשור אַז די דזשאָבס זענען פליסנדיק, איין וועג איז צו דערהייַנטיקן אַ דאַטאַבאַסע פעלד מיט די לעצטע מאָל די שריפט איז געווען לויפן. אויב עס איז אָפט, איר קענט נאָר שרייבן אַ E- בריוו געשיקט צו זיך.

נאָך Cron רעסאָורסעס:

ווי פילע דזשאָבס קען איר אָטאַמייט ניצן Cron?

קסנומקס באַמערקונגען

  1. 1

    די קאַווערד אַרטיקל וועגן באַשטעטיקן אַ קראָאָן, פֿאַר עמעצער נייַ צו קראָדזשאָבס, די מערסט שווער טייל אין באַשטעטיקן אַ קראָאָן איז צו רעכענען די cronjob דורכפירונג מעהאַלעך. אויב דיין קראָונזשאָבס זענען צייט שפּירעוודיק, עס איז גוט צו אַרייַננעמען עטלעכע קאָודז אין די שריפט צו ווידערקאָל די סטאַטוס אַזוי אַז איר האַלטן ינפאָרמד וועגן די אַרבעט דורכפירונג סטאַטוס.

  2. 2

    הי דאַג,

    עטלעכע טינגז צו באַטראַכטן ווען ארבעטן מיט Cron דזשאָבס.

    ערשטער, נאָך אַ ביסל טוץ, איר ווילט איר האָבן אַ UI, אַ דאַטאַבייס און סינטאַקס וואָס קוקט ענגליש 😉

    צווייטנס, Cron וועט אָפּזאָגן די אַרבעט אין די ספּעסאַפייד צייט, ראַגאַרדלאַס פון צי די פריערדיקע ינוווקיישאַן פון די אַרבעט געענדיקט. אויב איר לויפן אַ אַרבעט אַמאָל אַ מינוט וואָס נעמט 2 מינוט, עס וועט געשווינד פירן צו אַ פּלאַץ פון די זעלבע אַרבעט.

    ווייַטער, עס איז כּמעט קיין טעות ריפּאָרטינג ווען עפּעס פאַלש, אַזוי איר דאַרפֿן צו לייגן דיין אייגענע טעות ריפּאָרטינג.

    איך האָב גערעדט וועגן זיי אין עטלעכע וועגן:
    - לאָזן די אַפּלאַקיישאַן טריגערד דורך Cron אין אַ דאַטאַבייס צו באַשליסן וואָס דאַרף לויפן. לויפן עס אַמאָל אַ מינוט אָדער שעה דיפּענדינג אויף וואָס איר ווילט
    - לאָזן יעדער שריפט מאַכן אַ 'שלאָס' טעקע אין / טמפּ און אויב עס יגזיסץ, טאָן ניט אָנהייבן ווידער, דאָס פּריווענץ דופּליקאַט דזשאָבס אויב איר טאָן ניט וועלן
    - אויב די שריפט געפינט די שלאָס טעקע עלטער ווי 1 שעה (אָדער וואָס סאַגדזשעסץ איר געשטארבן), שיקן אַן E- בריוו פלינק
    - לאָזן די שריפט שיקן E- בריוו אויף דורכפאַל פון די אַרבעט אַזוי אַז איר וויסן עפּעס איז פאַלש
    - קוק אין פראַמעוואָרקס ווי פלאַקס אָדער געשעפט סקעדזשולערז ווען דיין באדערפענישן זענען מער ווי אַ ביסל סקריפּס

    קריס

  3. 4

    איך וועט אויך לייגן אַז אויף רובֿ לינוקס / יוניקס סיסטעמען, "crontab -e" איז וואָס איר נוצן צו רעדאַגירן דיין crontab. איך טראַכטן דיין באַלעבאָס (דזשומפּלינע) ניצט אַ מאַדאַפייד ווערסיע פֿאַר זיכערהייט סיבות.

  4. 5

    איך געדענקען נאָך דער ערשטער טאָג איך באגעגנט קראָנני. איך האָב געהערט וועגן איר אַז זי איז פאַרלאָזלעך, שטענדיק אין צייט, אָבער יז אַ ביסל קאַנפיוזינג וועגן איר ינטענטשאַנז.

    איך געפֿונען דעם צו זיין אמת ווי זי איז געווען אַ גאַנץ מיסטעריע פֿאַר מיר אין ערשטער. נאָך אַסקינג וועגן איר, איך געכאפט אויף פערלי געשווינד ווי זי לייקט צו אַרבעטן. איצט איך קען נישט ימאַדזשאַן אַ טאָג אָן איר אין מיין לעבן. זי מאכט די וועלטלעך יקסייטינג, און ליפץ פילע משאות אַוועק מיין פּלייצעס.

    אין אַלע סיריאַסנאַס, איך פילן ווי איך נאָר סקראַטשט די ייבערפלאַך מיט וואָס איך קענען אָטאַמייט מיט Cron דזשאָבס. זיי זענען באמת די בעסטער פרייַנד פון די דעוועלאָפּערס. אויב איר נוצן עמעצער ווי קפּאַנעל צו פירן דיין סערווירער, עס אָפפערס אַ פיל מער פרייַנדלעך צובינד צו שאַפֿן קראָאָנס. גאַנץ מיט פאַלן אַראָפּ מעניוז פֿאַר מינוט, שעה, טאָג, חודש, אאז"ו ו וואָס בויען די קראָאָן שורה פֿאַר איר.

  5. 7

    איך קען זען אַז דאָס איז עפּעס וואָס יעדער מאַרקאַטער זאָל נוצן ... איז עס ווער עס יז וואָס קענען צושטעלן דעם דינסט ווייַל עס סאָונדס אַ ביסל צו "טעקי"?

וואָס טאָן איר טראַכטן?

דעם פּלאַץ ניצט אַקיסמעט צו רעדוצירן ספּאַם. לערן ווי דיין קאָמענטאַר דאַטע איז פּראַסעסט.