linux at crontab 命令


crontab 命令的功能是在一定的时间间隔调度一些命令的执行。在 /etc 目录下有一个 crontab 文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度 crontab
crontab
命令有三种形式的命令行结构:
crontab [-u user] [file]
crontab [-u user] [-e|-l|-r]
crontab -l -u [-e|-l|-r]
第一个命令行中, file 是命令文件的名字。如果在命令行中指定了这个文件,那么执行 crontab 命令,则将这个文件拷贝到 crontabs 目录下;如果在命令行中没有制定这个文件, crontab 命令将接受标准输入(键盘)上键入的命令,并将他们也存放在 crontab 目录下。
命令行中 -r 选项的作用是从 /usr/spool/cron/crontabs 目录下删除用户定义的文件 crontab
命令行中 -l 选项的作用是显示用户 crontab 文件的内容。
使用命令 crontab -u user -e 命令编辑用户 user cron(c) 作业。用户通过编辑文件来增加或修改任何作业请求。
执行命令 crontab -u user -r 即可删除当前用户的所有的 cron 作业。
作业与它们预定的时间储存在文件 /usr/spool/cron/crontabs/username 里。 username 使用户名,在相应的文件中存放着该用户所要运行的命令。命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。文件里的每一个请求必须包含以 spaces tabs 分割的六个域。前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了 crontab 调度执行的命令。
第一道第五个字段的整数取值范围及意义是:
0
59 表示分
1
23 表示小时
1
31 表示日
1
12 表示月份
0
6 表示星期(其中 0 表示星期日)
/usr/lib/cron/cron.allow
表示谁能使用 crontab 命令。如果它是一个空文件表明没有一个用户能安排作业。如果这个文件不存在,而有另外一个文件 /usr/lib/cron/cron.deny, 则只有不包括在这个文件中的用户才可以使用 crontab 命令。如果它是一个空文件表明任何用户都可安排作业。两个文件同时存在时 cron.allow 优先,如果都不存在,只有超级用户可以安排作业。
任务调度的 crond 常驻命令
crond
linux 用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。 crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而 linux 任务调度的工作主要分为以下两类:
1
、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
2
、个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。
一、任务调度设置文件的写法
其格式如下:
Minute Hour Day Month Dayofweek command
分钟 小时 天每星期 命令
每个字段代表的含义如下:
Minute
每个小时的第几分钟执行该任务
Hour
每天的第几个小时执行该任务
Day
每月的第几天执行该任务
Month
每年的第几个月执行该任务
DayOfWeek
每周的第几天执行该任务
Command
指定要执行的程序
在这些字段里,除了“ Command ”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“ * ”来填补其位置。
举例如下:
1
、指定每小时的第 5 分钟执行一次 ls 命令
5 * * * * ls
2
、指定每天的 5:30 执行 ls 命令
30 5 * * * ls
3
、指定每月 8 号的 7 30 分执行 ls 命令
30 7 8 * * ls
4
、指定每年的 6 8 5 30 执行 ls 命令
30 5 8 6 * ls
5
、指定每星期日的 6:30 执行 ls 命令
30 6 * * 0 ls
注: 0 表示星期天, 1 表示星期 1 ,以此类推,也可以用英文来表示, sun 表示星期天, mon 表示星期一等。
6
、每月 10 号及 20 号的 3 30 执行 ls 命令
30 3 10,20 * * ls
注:“,”用来连接多个不连续的时段
7
、每天 8-11 点的第 25 分钟执行 ls 命令
25 8-11 * * * ls
注:“ - ”用来连接连续的时段
8
、每 15 分钟执行一次 ls 命令
*/15 * * * * ls
即每个小时的第 0 15 30 45 60 分钟执行 ls 命令
9
、每个月中,每隔 10 6:30 执行一次 ls 命令
30 6 */10 * * ls
即每月的 1 11 21 31 日是的 6 30 执行一次 ls 命令。
10
、每天 7 50 root 身份执行 /etc/cron.daily 目录中的所有可执行文件
50 7 * * * root run-parts /etc/cron.daily
注: run-parts 参数表示,执行后面目录中的所有可执行文件。
二、新增调度任务
新增调度任务可用两种方法:
1
、在命令行输入 : crontab -e 然后添加相应的任务, wq 存盘退出。
2
、直接编辑 /etc/crontab 文件,即 vi /etc/crontab ,添加相应的任务。
三、查看调度任务
crontab -l //
列出当前的所有调度任务
crontab -l -u jp   //
列出用户 jp 的所有调度任务
四、删除任务调度工作
crontab -r //
删除所有任务调度工作
五、任务调度执行结果的转向
1 :每天 5 30 执行 ls 命令,并把结果输出到 /jp/test 文件中
30 5 * * * ls >/jp/test 2>&1
注: 2>&1 表示执行结果及错误信息。
编辑 /etc/crontab 文件配置 cron
   cron 服务每分钟不仅要读一次 /var/spool/cron 内的所有文件,还需要读一次 /etc/crontab, 因此我们配置这个文件也能运用 cron 服务做一些事情。用 crontab 配置是针对某个用户的,而编辑 /etc/crontab 是针对系统的任务。此文件的文件格式是 :
   SHELL=/bin/bash
   PATH=/sbin:/bin:/usr/sbin:/usr/bin
   MAILTO=root // 如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
   HOME=/ // 使用者运行的路径 , 这里是根目录
   # run-parts
   01 * * * * root run-parts /etc/cron.hourly // 每小时执行 /etc/cron.hourly 内的脚本
   02 4 * * * root run-parts /etc/cron.daily // 每天执行 /etc/cron.daily 内的脚本
   22 4 * * 0 root run-parts /etc/cron.weekly // 每星期执行 /etc/cron.weekly 内的脚本
   42 4 1 * * root run-parts /etc/cron.monthly // 每月去执行 /etc/cron.monthly 内的脚本
  大家注意 "run-parts" 这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了
at命令的用法
At
列出在指定的时间和日期在计算机上运行的已计划命令或计划命令和程序。必须正在运行“计划”服务才能使用 at 命令。
at [//computername] [[id] [/delete] | /delete [/yes]]
at [//computername] time [/interactive] [/every:date[,...]| /next:date[,...]] command
参数
如果在没有参数的情况下使用,则 at 列出已计划的命令。
//computername
指定远程计算机。如果省略该参数,命令将安排在本地计算机。
id
指定指派给已计划命令的识别码。
/delete
取消已计划的命令。如果省略了 id,计算机中已计划的命令将被全部取消。
/yes
当删除已计划的事件时,对系统的查询强制进行肯定的回答。
time
指定运行命令的时间。将时间以 24 小时标记(00:00 [午夜] 到 23:59)的方式表示为小时:分钟。
/interactive
允许作业与在作业运行时登录用户的桌面进行交互。
/every:date[,...]
在每个星期或月的指定日期(例如,每个星期四,或每月的第三天)运行命令。将 date 指定为星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的数字)。用逗号分隔多个日期项。如果省略了 date,将假定为该月的当前日期。
/next:date[,...]
在重复出现下一天(例如,下个星期四)时,运行指定命令将 date 指定为星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的数字)。用逗号分隔多个日期项。如果省略了 date,将假定为该月的当前日期。
command
指定要运行的 Windows 2000 命令、程序(.exe 或 .com 文件)或批处理程序(.bat 或 .cmd 文件)。当命令需要路径作为参数时,请使用绝对路径,也就是从驱动器号开始的整个路径。如果命令在远程计算机上,请指定服务器和共享名的 UNC 符号,而不是远程驱动器号。如果命令不是可执行 (.exe) 文件,必须在命令前加上 cmd /c,例如:
cmd /c dir > c:/test.out
体验Windows XP系统内置的AT命令
  AT命令是Windows XP中内置的命令,它也可以媲美Windows中的“计划任务”,而且在计划的安排、任务的管理、工作事务的处理方面,AT命令具有更强大更神通的功能。AT命令可在指定时间和日期、在指定计算机上运行命令和程序。
  我们可以在“开始→运行”中输入AT命令,下面就来看看AT命令的一些实例分析。
  1、定时关机
  命令:at 21:00 ShutDown –S –T30
  该命令运行后,到了21:00点,电脑会出现“系统关机”对话框,并默认30秒延时自动关机。
  2、定时提醒
  命令:at 12:00 Net Send 10.10.36
  .122与朋友约会的时间到了,快点准备出发吧!
  其中Net Send是Windows内部程序,可以发送消息到网络上的其他用户、计算机。10.10.36.122是本机电脑的IP地址。这个功能在Windows中也称作“信使服务”。
  3、自动运行批处理文件
  如果公司的数据佷重要,要求在指定的日期/时间进行备份,那么运行:
  命令:at 1:00AM /Every:Saturday My_BackUp.bat
  这样,在每个Saturday(周六)的早上1:00点,电脑定时启动My_BackUp.bat批处理文件。My_BackUp.bat是一个你自行编制的批处理文件,它包含能对系统进行数据完全备份的多条命令。
  4、取消已经安排的计划
  命令:at 5 /Delete
  有时候,你已经安排好的计划可能临时变动,这样你可以及时地用上述命令删除该计划(5为指派给已计划命令的标识编号),当然,删除该计划后,可以重新安排
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值