Home Operation and Maintenance Linux Operation and Maintenance Scheduled tasks under Linux - scheduled tasks that are executed periodically

Scheduled tasks under Linux - scheduled tasks that are executed periodically

Nov 07, 2020 pm 10:42 PM
linux

The at command has been introduced in previous articles. It is used to set up a scheduled task that is executed only once. Today, let’s take a look at scheduled tasks that are executed periodically. In work, periodic scheduled tasks are often used, such as regular backup of system files, regular backup of database files, processing of orders that have not been paid for a long time, etc.

Users set up periodic scheduled tasks crontab

Generally, if users want to set up periodic scheduled tasks, they need to use the crontab command. Like at, crontab also has a black and white list, and the configuration files are -/etc/cron.deny, /etc/cron.allow.

When the user sets a scheduled task, the task will be recorded in the /var/spool/cron directory as a text file.

# ll /var/spool/cron/
total 4
-rw------- 1 root root 98 Jul 28 03:58 root
Copy after login

Regarding crontab, we only need to remember two commands

  • crontab -e Set up scheduled tasks

  • crontab - l View scheduled tasks

The format for setting scheduled tasks is as follows:

基本格式:分       时    日期    月份    星期    命令
取值范围:[0-59]  [0-23]  [1-31]   [1-12]   [0-7]
Copy after login

In addition, we also need to remember the meanings of several special characters:

  • * means any time can be used

  • , means a separated time period

  • - means a continuous period of time

  • /n means every n unit interval

Let’s take a look at the usage of the above special characters through a few examples:

# 每隔5分钟,执行下检测内存的脚本
*/n * * * * /root/script/check_memory.sh
# 每个月1号凌晨5点20分,重启下服务器
20 5 1 * * /usr/sbin/reboot
Copy after login

System configuration files /etc/crontab, /etc/cron.d/*

Regarding periodic scheduled tasks, there are three main ones. The local configuration files are

  • /var/spool/cron/, set for users

  • /etc/crontab, for System scheduled tasks

  • /etc/cron.d/ For scheduled tasks of a certain software or system, such as for a website, there may be multiple scheduled tasks, so it is recommended to run them in / In the etc/cron.d/ directory, create a new configuration file

crontab -e is designed for the user level. For system-level periodic tasks, it is recommended to write it in /etc/ crontal file, or in the /etc/cron.d/ directory.

Look at the contents of the /etc/crontab file below

# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
# * * * * * root /usr/bin/date  >> /root/cron.txt
Copy after login

You can see that it is slightly different from crontab -e. You need to specify the user name here.

Next, let’s take a look at what files are in the /etc/cron.d/ directory

# ll /etc/cron.d
total 8
-rw-r--r--. 1 root root 128 Aug  3  2017 0hourly
-rw-------  1 root root 235 Aug  3  2017 sysstat
Copy after login

If there is a website on the server, for this website, we need to regularly back up the database, Website files also need to process some data regularly, then we can create a related file in the /etc/cron.d/ directory. Let’s take a look at the content of the 0hourly file:

# Run the hourly jobs
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
01 * * * * root run-parts /etc/cron.hourly
Copy after login

This script means to execute the script file in the /etc/cron.hourly directory every hour.

I guess sharp-eyed friends have discovered that in addition to the cron.hourly directory, there are also cron.daily, cron.monthly, and cron.weekly directories. But there are some differences between these three directories. These three directories are executed by anacron. This anacron means to wake up the unexecuted scheduled task and execute it. For example, when you use crontab -e to set up a scheduled task, and the task is not executed after the time has passed due to shutdown or other reasons, then you can only miss it, but if you place the script in /etc/cron In the .daily/ directory, as long as it is not executed, it will still be executed even if the time has passed.

The above is the detailed content of Scheduled tasks under Linux - scheduled tasks that are executed periodically. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to start apache How to start apache Apr 13, 2025 pm 01:06 PM

The steps to start Apache are as follows: Install Apache (command: sudo apt-get install apache2 or download it from the official website) Start Apache (Linux: sudo systemctl start apache2; Windows: Right-click the "Apache2.4" service and select "Start") Check whether it has been started (Linux: sudo systemctl status apache2; Windows: Check the status of the "Apache2.4" service in the service manager) Enable boot automatically (optional, Linux: sudo systemctl

What to do if the apache80 port is occupied What to do if the apache80 port is occupied Apr 13, 2025 pm 01:24 PM

When the Apache 80 port is occupied, the solution is as follows: find out the process that occupies the port and close it. Check the firewall settings to make sure Apache is not blocked. If the above method does not work, please reconfigure Apache to use a different port. Restart the Apache service.

How to restart the apache server How to restart the apache server Apr 13, 2025 pm 01:12 PM

To restart the Apache server, follow these steps: Linux/macOS: Run sudo systemctl restart apache2. Windows: Run net stop Apache2.4 and then net start Apache2.4. Run netstat -a | findstr 80 to check the server status.

How to solve the problem that apache cannot be started How to solve the problem that apache cannot be started Apr 13, 2025 pm 01:21 PM

Apache cannot start because the following reasons may be: Configuration file syntax error. Conflict with other application ports. Permissions issue. Out of memory. Process deadlock. Daemon failure. SELinux permissions issues. Firewall problem. Software conflict.

How to learn Debian syslog How to learn Debian syslog Apr 13, 2025 am 11:51 AM

This guide will guide you to learn how to use Syslog in Debian systems. Syslog is a key service in Linux systems for logging system and application log messages. It helps administrators monitor and analyze system activity to quickly identify and resolve problems. 1. Basic knowledge of Syslog The core functions of Syslog include: centrally collecting and managing log messages; supporting multiple log output formats and target locations (such as files or networks); providing real-time log viewing and filtering functions. 2. Install and configure Syslog (using Rsyslog) The Debian system uses Rsyslog by default. You can install it with the following command: sudoaptupdatesud

Does the internet run on Linux? Does the internet run on Linux? Apr 14, 2025 am 12:03 AM

The Internet does not rely on a single operating system, but Linux plays an important role in it. Linux is widely used in servers and network devices and is popular for its stability, security and scalability.

How to fix apache vulnerability How to fix apache vulnerability Apr 13, 2025 pm 12:54 PM

Steps to fix the Apache vulnerability include: 1. Determine the affected version; 2. Apply security updates; 3. Restart Apache; 4. Verify the fix; 5. Enable security features.

How to start nginx in Linux How to start nginx in Linux Apr 14, 2025 pm 12:51 PM

Steps to start Nginx in Linux: Check whether Nginx is installed. Use systemctl start nginx to start the Nginx service. Use systemctl enable nginx to enable automatic startup of Nginx at system startup. Use systemctl status nginx to verify that the startup is successful. Visit http://localhost in a web browser to view the default welcome page.

See all articles