PrefaceA planned task is a task with a plan, which means we want to execute the task automatically according to our plan. There are 2 key points : The first is scheduled, the second is automatic. 1. Introduction to one-time planned tasksA one-time planned task is a task that is executed only once according to the plan. 2. CommandThe at command in Linux is used to create a one-time scheduled task. The at command has a service atd that runs in background mode and checks the current time to decide whether to run the "plan". By default, the atd service checks the directory every 60 seconds. When there is a "schedule", it checks the "schedule" running time. If the "schedule running time" matches the current time, it runs this "schedule". 3. Create a one-time scheduled taskFirst, the at service must be turned on: systemctl start atd Check the status of atd (whether it is active): systemctl status atd Check whether it is enabled: systemctl is-active atd Stop the atd service (one-time scheduled tasks will no longer be executed): systemctl stop atd [root@localhost ~]# vim /root/backup-yum-repo.sh [root@localhost ~]# cat /root/backup-yum-repo.sh #!/bin/bash mkdir /opt/yum-repo-backup-dir -p cp -r /etc/yum.repos.d /opt/yum-repo-backup-dir/yum.repos.d-`date +"%Y-%m-%d-%H:%M:%S"`.bak [root@localhost ~]# chmod +x backup-yum-repo.sh Use the at command to perform a one-time backup of the yum repository file. In order to smoothly view the execution results of at, use the following command to turn off ntp synchronization and set the current time #timedatectl set-ntp 0 command turns off ntp synchronization [root@localhost ~]# timedatectl set-ntp 0 #date -s "2021-12-1 16:58:30" command to set the date and time [root@localhost ~]# date -s "2021-12-1 16:58:30" Example 1: One-time scheduled task at a specific time Execute at 5:00 p.m., that is, 17:00 (if the time is past the afternoon, then it will be postponed to the next day) # The <EOT> in the following command is the scheduled task submitted to at. Use ctrl+d to display [root@localhost ~]# at 5:00PM warning: commands will be executed using /bin/sh at> /root/backup-yum-repo.sh at> <EOT> job 5 at Wed Dec 1 17:00:00 2021 # atq View one-time scheduled tasks [root@localhost ~]# atq 5 Wed Dec 1 17:00:00 2021 a root [root@localhost ~]# date;atq;ls /opt/yum-repo-backup-dir/ Wed Dec 1 16:59:50 CST 2021 5 Wed Dec 1 17:00:00 2021 a root [root@localhost ~]# date;atq;ls /opt/yum-repo-backup-dir/ Wed Dec 1 17:00:02 CST 2021 yum.repos.d-2021-12-01-17:00:00.bak Example 2: One-time scheduled task on a specific date Execute a script at this moment on December 12, 2021. If time is not specified, the time of the custom scheduled task is used as the execution time. (If the specified date is today, the scheduled task will be executed in the next minute) [root@localhost ~]# at 2021-12-12 warning: commands will be executed using /bin/sh at> /root/backup-yum-repo.sh at> <EOT> job 6 at Sun Dec 12 17:07:00 2021 [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root Example 3: One-time scheduled task at a specific date and time Executed at 12:12 on December 13, 2021 [root@localhost ~]# at 12:12 2021-12-13 warning: commands will be executed using /bin/sh at> /root/backup-yum-repo.sh at> <EOT> job 7 at Mon Dec 13 12:12:00 2021 [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root 7 Mon Dec 13 12:12:00 2021 a root Example 4: Execute at 9:15 am 5 days later [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root 7 Mon Dec 13 12:12:00 2021 a root [root@localhost ~]# at 9:15 + 5 days warning: commands will be executed using /bin/sh at> /root/backup-yum-repo.sh at> <EOT> job 8 at Mon Dec 6 09:15:00 2021 [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root 7 Mon Dec 13 12:12:00 2021 a root 8 Mon Dec 6 09:15:00 2021 a root Example 5: Execute on Monday [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root 7 Mon Dec 13 12:12:00 2021 a root 8 Mon Dec 6 09:15:00 2021 a root [root@localhost ~]# at monday warning: commands will be executed using /bin/sh at> /root/backup-yum-repo.sh at> <EOT> job 9 at Mon Dec 6 17:18:00 2021 [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root 7 Mon Dec 13 12:12:00 2021 a root 8 Mon Dec 6 09:15:00 2021 a root 9 Mon Dec 6 17:18:00 2021 a root Note: You cannot use at with past time. There is no regret medicine. 4. One-time planned task management4.1 View one-time scheduled tasksatq [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root 7 Mon Dec 13 12:12:00 2021 a root 8 Mon Dec 6 09:15:00 2021 a root 9 Mon Dec 6 17:18:00 2021 a root 4.2 Deleting a one-time scheduled taskatrm [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root 7 Mon Dec 13 12:12:00 2021 a root 8 Mon Dec 6 09:15:00 2021 a root 9 Mon Dec 6 17:18:00 2021 a root [root@localhost ~]# atrm 8 [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root 7 Mon Dec 13 12:12:00 2021 a root 9 Mon Dec 6 17:18:00 2021 a root 4.3 View detailed information of one-time scheduled tasksat -c job_id [root@localhost ~]# atq 6 Sun Dec 12 17:07:00 2021 a root 7 Mon Dec 13 12:12:00 2021 a root 9 Mon Dec 6 17:18:00 2021 a root [root@localhost ~]# at -c 7 5. One-time scheduled task usage controlat.allow (/etc/at.allow) at.deny (/etc/at.deny) Users can use the at command to set a one-time scheduled task, and can also control which users can use the scheduled task (in the whitelist) and which users cannot use the scheduled task The whitelist for at one-time scheduled tasks is at.allow and the blacklist is at.deny. It is not recommended to use both whitelist and blacklist. It is recommended to use a whitelist, and at.allow has a higher priority than at.deny. That is, if wang is in both the whitelist and the blacklist, then wang can execute at By default, there is no at.allow file in the rhel8.0 system, but you can create it yourself. # Add user wang to the blacklist [root@localhost ~]# cat /etc/at.deny wang [root@localhost ~]# su - wang [wang@localhost ~]$ at You do not have permission to use at. # Add user wang to both the blacklist and the whitelist [root@localhost ~]# cat /etc/at.allow wang [root@localhost ~]# cat /etc/at.deny wang [root@localhost ~]# su - wang [wang@localhost ~]$ at Garbled time This concludes this article on the detailed use of the Linux one-time scheduled task at command. For more relevant Linux one-time scheduled tasks, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Getting Started with Front-End Vue Unit Testing
>>: A brief analysis of the issues that should be paid attention to when making 404 error pages
This article shares simple HTML and music player ...
1. To prohibit all IP addresses from accessing th...
You can easily input Chinese and get Chinese outp...
Jellyka BeesAntique Handwriting [ank]* Jellyka Cut...
1. Monitoring planning Before creating a monitori...
one. First of all, you have to package it in idea...
Preface This article records a problem I encounte...
Table of contents The basic concept of modularity...
1. ref is copied, the view will be updated If you...
Table of contents environment summary Module Func...
Table of contents What is a relational database? ...
Table of contents 1. Introduction 2. Introduction...
First we create the database table: CREATE TABLE ...
In the following example, when the width of the td...
Overview: Oracle scott user has four tables, whic...