启动:systemctl start 服务名
停止:systemctl stop 服务名
重启:systemctl restart 服务名
开机自启动:systemctl enable 服务名
开机关闭:systemctl disable 服务名
查看服务状态:systemctl status 服务名

一. at

一次性定时计划任务:会以atd守护进程的形式在后台模式运行。对比crond周期性计划任务服务程序来讲,at命令的特点就是计划任务的一次性特征,一旦设置的计划任务被执行,则该任务就会被从任务列表库中删除,因此常被用于仅需执行一次的工作。

at只能设置24小时范围内的计划任务
如:

[root@robin ~]# at 9:27
at> touch /tmp/at.txt
at> <EOT>    ---------------------------------------- ctrl+d

常用参数:
-b 设置批处理命令的别名
-c 显示指定任务的内容
-d 删除系统中的等待任务
-f 将指定文件提交等待任务
-l 显示系统中的全部任务
-m 任务完成后给用户发邮件
-M 从不向用户发邮件
-q 使用指定的队列
-r 删除指定的任务作业
-t 以时间的形式提交运行任务
-v 显示任务将被执行的时间
-V 显示版本信息

[root@robin ~]# at -l 查看系统中的等待任务作业
[root@robin ~]# atrm 2 删除第二个计划任务

计划任务存储位置: /var/spool/at

二.crond服务

启动服务
[root@robin ~]# systemctl restart crond
保存用户计划任务的位置: /var/spool/cron/
计划任务日志: /var/log/cron

用户计划任务(root和普通账号)

[root@robin ~]# crontab -e
* * * * *  root	date >> /tmp/data.txt

分 00-59
时 00-23
日 01-31
月 01-12
周 0-7

* * * * *	每分钟运行
10 * * * *	每小时的第10
10 10 * * *  每天的10点10分
10 10 10 * *  每月的10号10点10分
10 10 10 10 *   每年的10月10号10点10分
10 10 10 10 7  每年的10月10号的10点10分 或者  每周日的10点10点
*/10 * * * *   每10分钟运行一次
10 10,15,20 10 10 *  每年的10月10号10点,15点,20点的10分执行
10 10-20 10 10 *   每年的10月10号10点到20点 10分执行

以用户名为文件名创建文件,保存对应用户的计划任务
root可以查看或者修改其他用户的计划任务.普通用户只能管理自己的计划任务

例:
写个计划任务:
要求: 2023年01月09的9点55分 备份boot目录到/tmp下 要求文件名: boot-年-月-日.tar.gz

[root@robin ~]# vim /root/bootbackup.sh
#!/bin/bash
tar -zcvf /tmp/boot-$(date +%Y-%m-%d).tar.gz /boot
[root@robin ~]# chmod +x /root/bootbackup.sh
[root@robin ~]# crontab  -l
35 10 * * * /root/bootbackup.sh
 
或者
35 10 * * *  tar -zcvf /tmp/boot-$(date +\%Y-\%m-\%d).tar.gz /boot

系统计划任务(系统已经定义完成的)
cron.daily/ 系统每天执行的程序
cron.hourly/ 系统每小时执行的程序
cron.monthly/ 系统每月执行的程序
cron.weekly/ 系统每周执行的程序

[root@robin ~]# ll /var/spool/anacron/cron.*
-rw-------. 1 root root 9 1月   9 10:37 /var/spool/anacron/cron.daily
-rw-------. 1 root root 9 12月 19 13:22 /var/spool/anacron/cron.monthly
-rw-------. 1 root root 9 1月   3 10:28 /var/spool/anacron/cron.weekly

控制计划任务的使用: /etc/cron.deny
写入该文件的用户不可以使用计划任务