4.at一次性计划任务-crond周期性计划任务

at:管理一次性任务计划

at一次性任务设置

at命令设置的计划任务只在指定的时间点执行一次,前提是对应的系统服务atd必须已经运行。需要注意的是,计划任务执行的时间、日期必须安排在当前系统的时候之后,否则将无法正确设置计划任务。

设置一次性计划任务时,在at命令行中依次指定计划任务的时间、日期作为参数(若只指定时间则表示当天的该时间,若只指定日前则表示该日期的当前时间),确认后将进入带“at>”提示符的任务编辑界面,每行设置一条执行命令,可以一次设置多条语句,最后ctrl+D组合键提交任务即可。所设置的命令操作将在计划的时间点依次执行。

at命令使用方法:

at HH:MM 今天的HH:MM时间执行,若时间已经超过,则明天的HH:MM时间执行

at HH:MM YYYY-MM-DD 指定具体的日期和时间

at HH:MM + number{minutes|hours|days|weeks}某个时间点+分钟|小时|天|星期执行

at的特殊写法

at 20:00 2008-10-1  在具体时间执行
at now +10min  在十分钟后执行
at 17:00 tomorrow  明天下午五点执行
at 6:00 pm + 3 days  在3天后下午6点执行
at 23:00 < a.txt  将a.txt导入

基本操作:

ctrl+D提交任务

atq查询现有的一次性任务计划 atq=at -l

atrm[任务序号]删除第几项任务 atrm=at -d

at -c查看任务的具体内容

crontab周期性任务设置

使用crontab命令设置的计划任务可以按预设的周期重复执行,可以大大减轻设置重复性系统管理任务的操作。启用周期性任务也有一个前提的条件,即对应的系统服务crond必须已经运行。

crontab的配置文件和目录

crond通过多个目录和文件设置计划任务,不同类型的任务由不同的配置文件来设置

[root@localhost ~] # ls /etc/cron.
cron.d/       cron.daily/   cron.deny     cron.hourly/  cron.monthly/ cron.weekly/ 
/etc/crontab

文件中设置的是维护linux系统所需的任务,由linux系统及相关程序在安装时自动设置,不建议用户手动修改此文件。该文件包括了设置shell环境、可执行路径等变量的操作,以及每小时、每天、每月需要执行的任务目录。
[root@localhost ~]# cat /etc/crontab

SHELL=/bin/bash #设置执行计划任务的shell环境

PATH=/sbin:/bin:/usr/sbin:/usr/bin #定义可执行命令及程序的路径

MAILTO=root #将任务输出信息发送到指定的邮箱#

#HOME=/ #执行计划任务时使用的主目录

 #For details see man 4 crontabs
 
# Example of job definition:
# .---------------- minute (0 - 59)      #分钟
# |  .------------- hour (0 - 23)          #小时
# |  |  .---------- day of month (1 - 31)    #天
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... #月
 #|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

由用户自行设置的cron计划任务将被保存到目录/var/spool/cron/中,文件名与用户名相同
[root@localhost ~]# ll /var/spool/cron/
总用量 4
-rw------- 1 root root 19 3月 4 14:57 root #编辑了crontab这里才有文件

crond守护程序会自动检查/etc/crontab文件、/etc/cron.d/目录及/var/spool/cron目录中的变化,如里发现由配置更改,就会被载入内存,所以当某个crontab文件改变并不需要重新启动crond守护进程就可以使用生效。

使用crontab目录管理用户管理任务

设置用户的周期性计划任务列表主要通过crontab目录进行,结合不同的选项可以完成不同的计划任务管理操作。(建议重启进程,因为有延时)

-e:编辑计划任务列表

-u:指定所管理的计划任务属于哪个用户,默认时针对当前用户,一般只有root用户由权限使用此选项用户编辑、删除其他用户的计划任务。

-l:列表显示计划任务。

-r:清空计划任务列表。

crontab -e [-u 用户名]: 编辑计划任务
crontab -l [-u 用户名]: 查看计划任务
crontab -r [-u 用户名]: 删除计划任务

crontab任务配置记录中所设置的命令操作将“分钟”+“小时”+“月份”+“星期”都满足的条件下执行。
编辑计划任务格式:分 时 日 月 星期 命令
在这里插入图片描述
在这里插入图片描述
当使用“”时表示取值范围中的任意时间。除了“”意外,还可以用减号“-”、“,”、“/”与数字构成表达式来表示较复杂的时间关系。
“-”:表示一个连续的时间范围1-5
“,”:表示一个间隔的不连续范围1,5
“/”:表示指定间隔频率,例如
/5表示每间隔5天。
*

设置自己的计划任务:
每周一到周五的早上8:00开始,每隔两个小时查看一次磁盘空间
00 8/2 * * 1-5 df -Th

每周末早上8:00和下午5:00查看一次磁盘空间
00 8,17 * * 6,7 df -Th
注意:
1、配置完计划任务后建议重启计划任务服务
2、计划任务信息要定时备份。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值