Linux运维养成记-计划任务 at & cron

1. at 一次性任务计划

at为一次性的计划任务,即使用at制定的任务只会执行一次,在使用时,我们首先确保atd服务为开启状态,开启该服务的命令是service atd start,命令具体解释如下。

  • 描述:在指定的时间里执行特定任务
  • 用法:at [时间点]
  • 选项:
选项参数 解释
-m 任务结束后发邮件通知用户
-l 查看用户计划任务
-d 删除用户计划任务
-c 查看 at 计划任务的具体内容

例:

[root@localhost ~]# at 22:00				#指定当天 22:00执行任务
at> tar -cjf log.tar.bz2 /var/log			#任务的内容
at> echo 'hello world'						#任务的内容
at> <EOT>									#任务输入完成后按"Ctrl + D"结束
job 1 at 2019-06-25 12:00					#系统提示该任务编号为 1
You have new mail in /var/spool/mail/root
[root@localhost ~]# at -l					#查看任务计划
[root@localhost ~]# at -c 1					#查看编号 1 的具体内容
[root@localhost ~]# at -d 1					#删除编号 1 的任务计划

at命令格式有很多,如:

  • at 1pm + 3days
    #三天之后的下午 1 点
  • at 12:00 2019-06-12
    #指定 2019/06/12中午 12 点执行任务

2. cron 周期性任务计划

crontab 命令用法如下:

  • 描述:周期性执行计划任务
  • 用法: corntab [用户] [-l | -r | -e]
  • 选项参数
参数 解释
-u 指定计划任务的用户,默认当前用户
-l 查看计划任务
-r 删除计划任务
-e 编辑计划任务
-i 使用删除任务是,需确认

使用 cron计划任务指定时间时,使用 23 小时制,分钟为 0-59,日期为 0-31,月份为 1-12,周为 0-7(0 和 7 表示周天),如果指定的是时间段,可以用-表示一段一段连续时间,使用,表示若干个不连续的时间,使用*表示所有时间,使用/表示每隔多久时间。下面为cron计划任务中时间列的解释。

第一列 第二列 第三列 第四列 第五列 第六列
命令

例:

[root@localhost ~]# crontab -e
30 05 * * 5 tar -cjf log.tar.bz2 /var/log		#每周五早上五点半执行备份任务
00 */3 * * * who					#每天每隔 3 小时检查用户登录情况
00 10 * * 3,5 df -h	>test.log		#每周三周五十点检查磁盘使用情况

此外如果对执行时间要求不是非常严格,/etc/下面的 cron.hourly、cron.daily、cron.weekly 等目录可以让用户将脚本直接存放在里面,系统会自动帮忙运行,

猜你喜欢

转载自blog.csdn.net/weixin_45181224/article/details/93598341