【Linux系列教程】计划任务

一、一次性任务

1.前提条件:依赖atd服务

[root@localhost ~]# systemctl status atd
● atd.service - Job spooling tools
   Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2022-07-25 10:38:47 CST; 1s ago
 Main PID: 7722 (atd)
   CGroup: /system.slice/atd.service
           └─7722 /usr/sbin/atd -f

Jul 25 10:38:47 localhost systemd[1]: Started Job spooling tools.

2.设置一次性任务

[root@localhost ~]# at 10:41	#10:41执行任务
at> mkdir /tmp/abc
at> <EOT>
job 2 at Mon Jul 25 10:41:00 2022
  • ctrl + d提交任务

二、周期性任务

1.用法

# crontab -e 

分  时  日  月  周     	命令
 
每天晚上十点半                          30 22 * * *
每周三上午九点                          0 9 * * 3
 
每天上午八点半、九点半、十点半          30 8-10 * * * 
每周一到周四的晚上八点                  0 20 * * 1-4 


每周一,三,五晚上十一点半              30 23 * * 1,3,5


每隔半个小时                            */30 * * * *
上午八点到下午4点,每隔2个小时          0 8-16/2 * * * 
操作注意事项:

   1、所有命令以绝对路径的方式写 
   2、%需要转义    \% 

2.查看周期性任务

[root@localhost ~]# crontab -l

*/1 * * * *   /usr/bin/touch /tmp/$(/usr/bin/openssl rand -hex 10)

*/1 * * * *  /usr/bin/mkdir /tmp/$(/usr/bin/date +\%F_\%T)

* */2 * * * /usr/sbin/ntpdate 120.25.115.20 &> /dev/null

3.删除任务

[root@localhost ~]# crontab -r	#一次性删除所有任务