Home >Operation and Maintenance >Linux Operation and Maintenance >How to use Systemd and Crontab to realize system self-starting in Linux system

How to use Systemd and Crontab to realize system self-starting in Linux system

WBOY
WBOYOriginal
2023-09-26 11:57:23976browse

How to use Systemd and Crontab to realize system self-starting in Linux system

How to use Systemd and Crontab to realize system self-starting in Linux system

Introduction:
In Linux system, we often need to use some commonly used services or The script is set to system auto-start so that it can run automatically after the system restarts. In this article, we will introduce how to use the two tools Systemd and Crontab to realize system self-starting, and give specific code examples.

1. Use of Systemd
Systemd is a commonly used system and service management tool in Linux operating systems. It provides a convenient configuration interface that can easily manage and control various services of the system.

  1. Writing a Systemd service unit file
    First, we need to create a Systemd service unit file, which defines the relevant information of the service we want to start automatically. Create a new file named after the service name, with the suffix .service, for example my_service.service. The following is the content of an example Service unit file:
[Unit]
Description=My Service
After=network.target

[Service]
ExecStart=/path/to/your_script.sh
Type=simple
Restart=always
User=root

[Install]
WantedBy=default.target

In the above example, Description is used to describe the name of the service, and After specifies Dependencies of service startup, ExecStart specifies the script or program to be executed when the service starts, Type specifies the type of service, Restart specifies after the service stops Whether to automatically restart, User specifies the user under which the service runs.

Among them, WantedBy is a link target, used to specify the .target under which systemd should automatically start this service. By default, it is default.target.

  1. Put the service file into the Systemd directory of the system
    Move the written service unit file to the Systemd service directory of the system, usually /etc/systemd/system /. Execute the following command in the terminal to complete the operation:
sudo mv my_service.service /etc/systemd/system/
  1. Start the service and set up auto-start
    After completing the above steps, you can use the following command to start and stop the service:
sudo systemctl start my_service
sudo systemctl stop my_service

In order to set the service to start automatically on the system, just execute the following command:

sudo systemctl enable my_service

In this way, when the system restarts, the service will start automatically.

2. The use of Crontab
Crontab is a tool used to perform tasks regularly in Linux systems. We can use Crontab to set tasks to be executed automatically after the system restarts.

  1. Edit Crontab file
    Use the following command to edit the current user's Crontab file:
crontab -e

Add the following content in the editor:

@reboot /path/to/your_script.sh

Among them, @reboot means to execute after the system starts, and /path/to/your_script.sh is the path of the script or program to be executed.

  1. Save and exit the editor
    After saving and exiting the editor, Crontab will automatically take effect.
  2. Verification settings
    Use the following command to view the current user's Crontab configuration:
crontab -l

If you can see the content just added, the configuration is successful.

Conclusion:
By using Systemd and Crontab tools, we can easily realize the automatic startup function after the Linux system restarts. Systemd can be used to manage various services of the system and enable automatic startup through simple configuration files. Using Crontab, you can implement the function of executing tasks regularly.

Code example:
The following is an example script that shows how to use Systemd and Crontab to implement the system self-starting function.

Systemd service unit filemy_service.service:

[Unit]
Description=My Service
After=network.target

[Service]
ExecStart=/path/to/your_script.sh
Type=simple
Restart=always
User=root

[Install]
WantedBy=default.target

Crontab configuration file:

@reboot /path/to/your_script.sh

The above is about how to use Systemd and Crontab in Linux systems Methods and specific code examples to implement system self-starting. Hope this article can be helpful to you.

The above is the detailed content of How to use Systemd and Crontab to realize system self-starting in Linux system. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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