计划任务:在约定好的时间完成计划好的工作
一次性计划任务:at
①安装一次性计划任务at:yum -y install at
②启动at服务:systemctl start atd
使用at命令
at 执行任务的时间
at> 写入需要执行的命令
at> ...... //可以一次设定多个执行命令
at> <EOT> //Ctrl + D 完成设定
关于执行时间:
格式:时:分 月/日/年 //如果 月/日/年 不写,默认当天执行
midnight:凌晨12点
noon:中午12点
teatime:下午4点
查看一次性计划任务:at -l
第一列为任务序号
也可在/var/spool/at/ 目录下查看存放的一次性计划任务文件
删除计划任务:at -d 任务序号 或 atrm 任务序号
循环性计划任务:crontab
crond服务,系统自带,默认开机自启动
系统级计划任务
通常用于执行系统维护、数据备份、日志清理等重要的后台任务
用户级计划任务
用户包括root和普通用户
创建循环计划任务
时间格式:分 时 日 月 周
范围:分[0-59] 时[0-23]或[1-24] 日[1-31] 月[1-12] 周[0-6]或[1-7]
优先级别:月>日=周>时>分
crontab执行时间计算工具:https://tool.lu/crontab
实例:
* * * * * 每分钟执行一次
0 * * * * 每小时整点执行一次
0 */2 * * * 每两个小时整点执行一次
0 0 * * * 每天00:00执行一次
50 1,3,5 * * * 每天的1:50,3:50,5:50执行一次
50 19 20 4 6 在每年4月20日19:50和每年四月的每个周六19:50执行一次
50 19 20 4 * 在每年4月18日19:50执行一次
* * * * 6 在每个周六的每一分钟执行一次
50 19 20 * 6 在每月20日19:50和每个周六19:50执行一次
为当前用户创建计划任务:crontab -e
为指定用户创建计划任务:crontab -e -u 用户名
计划任务格式:分 时 日 月 周 命令
注意:
使用命令时要输入命令文件的绝对路径
一条计划任务只能执行一条命令,命令;命令 可以视为一条命令
查看循环计划任务
查看当前用户计划任务:crontab -l
查看指定用户的计划任务:crontab -l -u 用户名
在/var/spool/cron/目录下存放着所有用户的循环计划任务文件
删除循环计划任务
删除计划任务:crontab -e 直接在任务列表里编辑删除任务
删除当前用户的计划任务:crontab -r
删除指定用户的计划任务:crontab -r -u 用户名
删除或修改/var/spool/cron/目录下的用户文件,可以实现对某个特定用户的计划任务的删除或修改