How to configure system scheduled tasks on Linux

PHPz
Release: 2023-07-06 11:58:39
Original
16462 people have browsed it

How to configure system scheduled tasks on Linux

In Linux systems, scheduled tasks are a very common and practical function that can be used to perform certain operations regularly, such as backing up data and cleaning up temporary files. , regularly update software, etc. In this article, we will introduce how to configure system scheduled tasks in Linux systems, and attach corresponding code examples.

There are many ways to implement scheduled tasks in Linux systems, the most commonly used of which are cron tasks and systemd timers. The configuration methods and code examples of these two methods are introduced below.

1. Use cron task to configure scheduled tasks

  1. Edit cron task table
    Enter the following command on the command line to edit the current user's cron task table:
crontab -e
Copy after login

If you need to edit the system-wide cron task table, you can use the following command:

sudo crontab -e
Copy after login
  1. Write cron task
    In the open file, each line represents a scheduled task . The format of each line is as follows:
分钟 小时 日 月 周 要执行的命令
Copy after login

Among them, minutes, hours, days, months and weeks represent the time of task execution, and the wildcard character * can be used to represent any value. The command to be executed is an operation that needs to be performed regularly.

For example, the following is an example of a scheduled task that executes a script at 1 am every day:

0 1 * * * /path/to/script.sh
Copy after login
  1. Save the cron task
    After editing the cron task, press Ctrl quit. The system will automatically save the modified cron task list in the corresponding location.

Tip: If you need to delete a cron task, use the following command:

crontab -r
Copy after login

2. Use systemd timer to configure the scheduled task

  1. Create one service file

Create a file with the suffix .service in the /etc/systemd/system/ directory, such as mytask.service .

sudo nano /etc/systemd/system/mytask.service
Copy after login
  1. Write the content of the service file

In the created service file, add the following content:

[Unit]
Description=My Task

[Service]
ExecStart=/path/to/script.sh

[Install]
WantedBy=multi-user.target
Copy after login

Among them, ExecStart Indicates the script file to be executed, WantedBy=multi-user.target indicates that this task should be executed when the system starts.

  1. Create a timer file

Create a timer file named .timer in the /etc/systemd/system/ directory File with suffix, such as mytask.timer.

sudo nano /etc/systemd/system/mytask.timer
Copy after login
  1. Write the content of the timer file

In the created timer file, add the following content:

[Unit]
Description=Run My Task every day

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target
Copy after login

Among them, OnCalendar=daily means that this task is executed once a day, Persistent=true means that even if the system is shut down before the task execution time, the task will be executed at the next startup.

  1. Reload systemd configuration

Execute the following command to make systemd reload the configuration file:

sudo systemctl daemon-reload
Copy after login
  1. Start the scheduled task

Execute the following command to start the scheduled task:

sudo systemctl start mytask.timer
Copy after login
  1. Set the scheduled task to start automatically at boot

Execute the following command to set the scheduled task to start automatically at boot:

sudo systemctl enable mytask.timer
Copy after login

The above are the steps and code examples for configuring system scheduled tasks on a Linux system. By using cron tasks or systemd timers, we can easily perform required operations regularly and improve work efficiency and convenience of system management.

The above is the detailed content of How to configure system scheduled tasks on Linux. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!