Job Scheduling - Part 1

Duration: 23 min

This video lesson is available to enrolled students.

Enroll to watch — ISRO Scientist/Engineer 'SC'

AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

This lecture introduces job scheduling in Linux, focusing on the cron system. It begins by defining job scheduling as automatically running commands or tasks at specified times, highlighting its use for repetitive tasks like backups and maintenance. The lecture distinguishes between one-time jobs and recurring jobs, using an 11 PM backup as a common example. The core of the lesson covers cron and crond, explaining that cron is the time-based scheduler while crond is the background daemon that executes jobs. A detailed breakdown of the cron syntax (minute, hour, day of month, month, day of week) is provided using the example '0 2 * * * /home/user/backup.sh', which runs a backup script daily at 2:00 AM. The lecture also covers the crontab command and its essential flags (-e, -l, -r, -u) for managing scheduled jobs. Finally, it concludes with a table of practical examples, such as running tasks every minute, at specific times like 10:30 AM, on specific days of the week or month, and at intervals like every 5 minutes.

Chapters

  1. 0:00 2:00 00:00-02:00

    The lecture opens with a title slide for 'Linux OS' and the topic 'Job Scheduling'. The instructor introduces job scheduling as a method for automatically running commands or tasks at specified times. A slide titled 'Job Scheduling Commands in Linux' lists reasons for its use, including backing up files, running reports, and deleting temporary files. The instructor uses red underlines to emphasize key terms like 'automatically running a command or task' and 'specified time'. A table comparing one-time jobs (runs once) and recurring jobs (runs repeatedly at fixed intervals) is introduced, with an 11 PM backup example for both.

  2. 2:00 5:00 02:00-05:00

    The instructor continues to emphasize the importance of job scheduling for repetitive tasks, using red circles around phrases like 'repetitive tasks', 'specific time', and 'manual intervention'. The lecture transitions to a slide titled 'LINUX JOB SCHEDULING COMMANDS', which presents several color-coded command tables. This section serves as a bridge between the conceptual introduction and the specific technical commands used in Linux for scheduling, setting up the detailed explanation of cron and crond that follows.

  3. 5:00 10:00 05:00-10:00

    The lecture focuses on 'cron and crond', defining cron as a time-based job scheduler in Linux for repetitive or recurring tasks. The instructor highlights key phrases like 'commands or scripts' and 'repetitive/recurring tasks'. A specific cron example, '0 2 * * * /home/user/backup.sh', is broken down field by field. The instructor annotates the line, labeling each field as minute, hour, day of month, month, and day of week. The example is explained to mean the backup script runs every day at 2:00 AM, connecting abstract syntax to a concrete real-world outcome.

  4. 10:00 15:00 10:00-15:00

    The lecture shifts to 'crond', defined as the background daemon or service that runs and manages scheduled cron jobs. It continuously checks schedules and executes commands when their time arrives. A two-column table titled 'cron vs crond' compares the two, noting that cron is the scheduling mechanism while crond is the execution daemon. An example flowchart illustrates the process: crontab defines the job, crond manages it, and the command or script executes. Red teaching marks progressively underline key definitions to reinforce the distinction between the scheduler and the daemon.

  5. 15:00 20:00 15:00-20:00

    The lecture covers the 'crontab' command, used to create, view, edit, and remove scheduled jobs. A table of 'Important crontab Commands' lists the flags -e (edit), -l (list), -r (remove), and -u username, each highlighted in red boxes. A 'Basic Workflow' panel outlines four steps, ending with cron/crond executing the command automatically. The instructor emphasizes that crontab is the user-facing tool for interacting with the cron system, while crond operates in the background to ensure jobs run on time.

  6. 20:00 23:03 20:00-23:03

    The lecture concludes with a 'crontab - Example & Explanation' slide. Step 1 shows opening the crontab editor with 'crontab -e', and step 2 displays the line '0 2 * * * /home/user/backup.sh'. A green panel explains this means the backup script executes every day at 2:00 AM. A 'CRON FIELDS EXPLAINED' table and a quick tip stating '* means every' are provided. An 'EXAMPLES' table lists five scenarios: running every minute (* * * * *), at 10:30 AM daily (30 10 * * *), every Monday at 9:00 AM (0 9 * * 1), on the 15th at 8:00 PM (0 20 15 * *), and every 5 minutes (*/5 * * *).

The lecture provides a structured introduction to job scheduling in Linux, moving from conceptual definitions to practical command usage. It begins by establishing the purpose of job scheduling: automating repetitive tasks like backups and maintenance at specified times. The distinction between one-time and recurring jobs is clarified early on, with recurring jobs being the primary focus due to their reliance on cron. The core technical content centers on the relationship between cron (the scheduler) and crond (the daemon), using a comparison table to highlight their distinct roles. The cron syntax is taught through a detailed, field-by-field breakdown of the example '0 2 * * * /home/user/backup.sh', making the abstract five-field format concrete. The crontab command is presented as the user interface for managing these jobs, with its key flags (-e, -l, -r) explained. The lecture culminates in a series of practical examples that demonstrate the flexibility of cron syntax for various scheduling needs, from minute-by-minute execution to specific dates and times. This progression ensures students understand both the 'why' and 'how' of job scheduling in Linux.

Loading lesson…