במערכות הפעלה בכלל ובמערכות הפעלה מבוססות ליבת לינוקס בפרט, ישנה תוכנה המכונה לרוב Cron המאפשרת תזמון (ביצוע מתוזמן \ ביצוע אחת ל-X כל שהוא) של פעולה מסוימת.
במערכות לינוקס, ל-Cron יש שפה משל עצמו אך ניתן להריץ בו פקודות בשפת מעטפת (shell) מסוימת, בדרך כלל המעטפת (shell) שהוגדרה דיפולטיבית למערכת הפעלה עימה עובדים, סביר להניח Bash.
באופן כללי, כל פקודת כרון מורכבת למעשה משני חלקים: חלק ראשון הוא שפת תוכנת ה Cron עצמה (הנוגע בעיקרו בהגדרת תזמון) וחלק שני הוא פקודה בשפת מעטפת שפת תפעול-התנהגות התואמת shell מסוימת כמו Bash אשר Cron יריץ דרך המעטפת הרלוונטית בתזמון המוגדר.
תחביר Cron יסודי
תחביר יסודי כללי של תוכנות Cron הינו התחביר להלן.
minute hour DoM month DoW
שפירושו:
- minute (0-59)
- hour (0-23)
- Day of Month (1-31)
- month (1-12)
- Day of Week (0-6)
דוגמאות לפעולת כרון
דוגמה לפעולת כרון תהיה למשל זו להלן.
* * * * * touch "${HOME}/example.example"
משמעות פקודה זו הינה:
בכל דקה, שבכל שעה, שבכל יום בחודש, שבכל חודש, שבכל יום בשבוע, תיצור הקובץ שנקרא example.example בתיקיית הבית של המשתמש הנוכחי ← לכן, באופן כללי, בכל דקה ← בתיקיית הבית של המשתמש הנוכחי ← יווצר קובץ בשם example.example. הקובץ יווצר תוך דריסת כל קובץ קיים בשם זה, אם ישנו, ברגרסיה שהיא עקרונית "אין סופית".
דוגמה נוספת תהיה למשל זו להלן
0 0 1 * * touch "${HOME}/example.example"
משמעות פקודה זו הינה:
בדקה הראשונה (דקה 0) של השעה הראשונה (שעה 0) של היום הראשון בחודש (יום 1) בכל חודש בכל יום בשבוע (היום הראשון בחודש יכול להיות כל יום בשבוע) צור הקובץ example.example בתיקיית הבית של המשתמש.
כמובן שאין צורך פרקטי לפעולות הכרון שבדוגמה לעיל ואלו רק דוגמאות פשוטות לתחביר Cron.
לפי דעתי אין זה המקום להדגים דוגמאות מורכבות יותר כגון יצירת גיבוי כל יום בגבול של חודש עם מחיקה של כל מה שנוצר לפני דקה אחת יותר מחודש, אלא מוטב לעשות זאת עם ספרות נקודתית ולמי שחדש בנושא וגם תחת הנחייה קפדנית של מורה.