Linux日期时间命令

 

  1. at命令

格式at [-q queue] [-f file] [-mldbv] TIME

说明:at可以让用户指定在TIME这个特定时刻执行某个程序或命令,TIME的格式是 HH:MM。其中的HH为小时,MM为分钟,甚至可以指定am,pm,midnight,noon。如果想要指定超过一天的,则可以用MMDDYY或者MM/DD/YY格式,其中MM是月份,DD是第几日,YY是指年份;也可以使用now + 间隔来弹性指定,其中的间隔可以是minutes,hours,days,weeks;另外,用户也可指定today或tomorrow来表示今天或明天。当指定了并按下enter之后,at会进入交互模式并要求输入命令或程序,当输入完后按下CTRL+D 即可完成所有动作,至于执行的结果将会发送信息到用户的账号邮箱中。

参数:

  • -q:使用指定的队列储存,at的内容是存放在所谓的queue(队列)中,用户可以同时使用多个queue,而queue的编号为abc…z以及AB…Z 52
  • -m:即使程序/命令执行完成后没有输出结果,也要寄封信给用户
  • -f file:读入预先写好的命令文件。用户不一定要使用交互模式来输入,可以先将所有的指定先写入文件后再一次读入
  • -l:列出所有的设置 (用户也可以直接使用atq而不用at -l)
  • -d:删除设置(用户也可以直接使用atrm而不用at -d)
  • -v:列出所有已经完成但尚未删除的设置
  1. 三天后的下午5点执行/bin/ls:
  • at 5 pm +3days /bin/ls
  1. 三个星期后的下午5点执行/bin/ls:
  • at 5pm +32weeks /bin/ls
  1. 明天的 17:20 执行 /bin/date:
  • at 17:20 tomorrow /bin/date
  1. 1999 年的最后一天的最后一分钟显示the end of year!
  • at 23:59 12/31/1999 echo the end of year!
  1. cal命令

格式cal [-mjy] [month [year]]

说明:显示日历。若只有一个参数,则显示当年当月。如果指出年份必须全部写出。

选项:

  • -m:以星期一为每周的第一天方式显示
  • -j:以凯撒历显示,即以一月一日起的天数显示
  • -y:显示今年年历
  1. 显示本月的月历
  • cal                                //显示当前月日历
  1. 显示2007年5月的日历
  • cal 7 2007
  1. crontab命令

格式crontab [ -u user ] file

crontab [-u user ] { -l | -r | -e }

说明:crontab是用来让用户在固定时间或固定间隔执行程序,类似下的计划任务功能。-u user 是指设定指定user的计划任务,前提是必须要有其权限(比如说是 root)才能够指定他人的计划任务。如果不使用-u user的话,就是表示设定自己的计划任务。也可以将所有的设定先存放在文件file中,用”crontab file”的方式来设定计划任务。

参数:

  • -e:打开vi来设定计划任务
  • -r:删除目前的计划任务
  • -l:列出目前的计划任务

计划任务的格式如下:

f1 f2 f3 f4 f5     program

  • f1表示分钟,f2表示小时,f3表示月中第几日,f4表示月份,f5表示星期中第几天。program表示要执行的程序
  • f1*时表示每分钟都执行,f2f5依次类推
  • f1a-b时表示从第a分钟到第b分钟内都执行,f2f5依次类推
  • f1*/n时表示每n分钟执行一次,f2f5类似
  • f1abc格式时表示第abc分钟执行,f2f5类似
  1. 每月每天每小时第0分钟执行一次 /bin/ls

0 * * * * /bin/ls

  1. 在12月内,每天的早上6点到12点中,每隔20分钟执行一次/usr/bin/backup:

*/20 6-12 * 12 * /usr/bin/backup

  1. 周一到周五每天下午 5:00 寄一封信给 alex@domain.name:

0 17 * * 1-5 mail -s “hi” syd168@yahoo.com.cn

  1. 每月每天的每点20分….执行 echo “haha”

20 0-23/2 * * * echo “haha”

注意:

(1)另外,该命令执行后,会打开计划任务的编辑环境,直接在其中输入上面介绍的计划任务的设置就行了,每行一条计划任务。

(2)

(3)crontab设置的计划任务只对计划任务的设定者(所有者)起作用。要设置针对所有用户的计划任务,需要编辑/etc/crontab文件,该文件的设置方法,请参考其它资料。

(4)crotab和at不同,at是设置一次新的计划任务,而crotab是设置重复执行的计划任务,系统计划任务的设置在/etc/crontab中。

(5)计划任务还有权限的。at受/etc/at.allow和/etc/at.deny的限制,crontab受/etc/allow.crontab和/etc/deny.crontab的限制,而系统计划任务受/etc/cron.allow和/etc/cron.deny的限制。at计划任务保存在/var/spoon/at下,crontab计划任务在/var/spoon/crontab下,而系统计划任务在/etc/crontab中。

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《Linux日期时间命令
本文地址:https://www.zhiletu.com/archives-49.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微