linux at命令可以让使用者指定在 TIME 这个特定时刻执行某个程式或指令,TIME 的格式是 HH:MM其中的 HH 为小时,MM 为分钟,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 点锺)等口语词。
linux中的Cron指令是Linux的内置服务,但它不主动起来,能够用以下的办法发动、封闭这个服务:
/sbin/service crond start //发动服务
/sbin/service crond stop //封闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //从头载入装备
你也能够将这个服务在体系发动的时分主动发动:
在/etc/rc.d/rc.local这个脚本的结尾加上:
/sbin/service crond start
现在Cron这个服务现已在进程里边了,咱们就能够用这个服务了,Cron服务供给以下几种接口供咱们运用:
1.直接用crontab指令修改
cron服务供给crontab指令来设定cron服务的,以下是这个指令的一些参数与阐明:
crontab -u //设定某个用户的cron服务,一般root用户在履行这个指令的时分需求此参数
crontab -l //列出某个用户cron服务的具体内容
crontab -r //删去没个用户的cron服务
crontab -e //修改某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删去fred的cron设置:crontab -u fred -r
在修改cron服务时,修改的内容有一些格局和约好,输入:crontab -u root -e
进入vi修改形式,修改的内容必定要契合下面的格局:*/1 * * * * ls >> /tmp/ls.txt
这 个格局的前一部分是对时刻的设定,后边一部分是要履行的指令,假如要履行的指令太多,能够把这些指令写到一个脚本里边,然后在这里直接调用这个脚本就能够 了,调用的时分记住写出指令的完好途径。时刻的设定咱们有必定的约好,前面五个*号代表五个数字,数字的取值规模和意义如下:
分钟 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天
除了数字还有几个个特别的符号便是"*"、"/"和"-"、",",*代表一切的取值规模内的数字,"/"代表每的意思,"*/5"表明每5个单位,"-"代表从某个数字到某个数字,","分隔几个离散的数字。以下举几个比如阐明问题:
每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //留意单纯echo,从屏幕上看不到任何输出,由于cron把任何输出都email到root的信箱了。
每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line
每 次修改完某个用户的cron设置后,cron主动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记载在这个文件 中,这个文件是不能够直接修改的,只能够用crontab -e 来修改。cron发动后每过一份钟读一次这个文件,查看是否要履行里边的指令。因而此文件修改后不需求从头发动cron服务。
2.修改/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内的脚本
#p#咱们留意"run-parts"这个参数了,假如去掉这个参数的话,后边就能够写要运转的某个脚本名,而不是文件夹名了
称号 : linux at指令
运用权限 : 一切运用者
运用方法 : at -V [-q queue] [-f file] [-mldbv] TIME
阐明 : linux at指令能够让运用者指定在 TIME 这个特守时刻履行某个程式或指令,TIME 的格局是 HH:MM其间的 HH 为小时,MM 为分钟,乃至你也能够指定 am, pm, midnight, noon, teatime(便是下午 4 点锺)等口语词。
假如想要指定超越一天内的时刻,则能够用 MMDDYY 或许 MM/DD/YY 的格局,其间 MM 是分钟,DD 是第几日,YY 是指年份。别的,运用者乃至也能够运用像是 now + 时刻距离来弹性指守时刻,其间的时刻距离能够是 minutes, hours, days, weeks 别的,运用者也可指定 today 或 tomorrow 来表明今日或明日。当指定了时刻并按下 enter 之后,linux at指令会进入攀谈形式并要求输入指令或程式,当你输入完后按下 ctrl+D 即可完结一切动作,至于履行的成果将会寄回你的帐号中。
把计 :
-V : 印出版别编号
-q : 运用指定的伫列(Queue)来贮存,linux at指令的材料是存放在所谓的 queue 中,运用者能够一起运用多个 queue,而 queue 的编号为 a, b, c... z 以及 A, B, ... Z 共 52 个
-m : 即便程式/指令履行完结后没有输出成果, 也要寄封信给运用者
-f file : 读入预先写好的指令档。运用者不必定要运用攀谈形式来输入,能够先将一切的指定先写入档案后再一次读入
-l : 列出一切的指定 (运用者也能够直接运用 atq 而不必 at -l)
-d : 删去指定 (运用者也能够直接运用 atrm 而不必 at -d)
-v : 列出一切现已完结但没有删去的指定
比如 :
三天后的下午 5 点锺履行 /bin/ls :
at 5pm + 3 days /bin/ls
三个星期后的下午 5 点锺履行 /bin/ls :
at 5pm + 2 weeks /bin/ls
明日的 17:20 履行 /bin/date :
at 17:20 tomorrow /bin/date
2009 年的***一天的***一分钟印出 the end of world !
at 23:59 12/31/2009 echo the end of world !
以上是linux中的cron和linux at指令用法详解。
【修改引荐】
- linux at指令详解及运用方法事例
- Linux操作体系顶用Linux at指令守时发送邮件
- Linux中文档查找技能大全-find指令