如何在特定的时间运行一个命令at命令能在您所指定的时间运行您选择的命令 例如 如果我想在上午 点钟播放CDROM中的乐曲 则键入如下命令 $ at : at> cdplay 在上面的例子中 我先键入at : 然后键入回车 随后出现at命令提示符at> 在这个提示符下 又键入命令cdplay 然后用 结束输入 如果没有键入 而输入回车 则at>会在下一行出现 这样就可以键入另一条要在 : 执行的命令 依次类推 您可以安排从 : 开始执行的一系列命令 在命令输完后 用 结束输入 相当于向当前输入发出了一个 文件尾 信号 因此 如果您连续按两次 的话 您就会从系统中注销 下面的命令将列出所有待执行的作业 该命令会按照序号显示当前全部作业 $ at l如果要删除队列中的某个作业 使用如下命令 它将删除队列中序号为 的作业 $ at rm 下面的命令将在新的千年开始前五分钟启动X Window系统 $ at : / / at> startx如果一般用户无法使用at命令的话 请检查一下文件/etc/at deny和/etc/at allow 在默认配置中 系统允许所有的用户使用at命令 如果您只想让某些用户使用at命令 就需要创建文件/etc/at allow 并将可以使用at命令的用户列在文件中 对于at的其它可选项 请参见man at 如何设置cron我们在红旗Linux系统中默认安装了cron 它是一个Linux进程 主要用来在夜晚运行某些后台作业 所以您一般不需要对它做任何改动 除非您想在其中增加某些作业或修改cron运行作业的时间 cron的某些作业对系统而言是基础 用来保证系统能够长时间正常工作 cron的工作主要包括 重建文件位置的数据库 这样您才能用 locate 命令查找清空/tmp目录重建用户手册进行某些检查设置 例如增加新字体我们在每天下班时不应该关闭Linux 否则cron就无法完成它的工作 如果您确实要将计算机在夜晚关闭 就应该调整cron 让它在其它时间完成必需的工作 查看/etc/crontab文件可以了解cron作业什么时候被唤醒 $ cat /etc/crontab一个可能的示例文件如下 # run parts root run parts /etc/cron hourly root run parts /etc/cron daily root run parts /etc/cron weekly root run parts /etc/cron monthly 其中包括了四类作业 每小时执行一次的 每天执行一次的 每周执行一次的和每月执行一次的 您也可以修改该文件 以增加您自己的cron类别 文件中每一项的含义如下 分钟( ) 小时( ) 一月中第几天( ) 月份数( ) 星期几( 或星期天至星期六) 其中 表示任何有效数字 因此 每小时完成的作业记录在目录/etc/cron hourly中 这些作业每个小时的第 分钟将被执行 每天完成的作业记录在目录/etc/cron daily中 这些作业每天 点过 分执行 每周执行的作业在星期六的上午 点 分执行 每月执行的作业在每月 日上午 点 分执行 每一项的最后一列指明了当时间到了以后 要运行的命令文件的完整路径名 如果您想把早晨 点 分执行的cron作业在中午进行 把 修改为 即可 cron在每分钟都会被唤醒一次 并检查/etc/crontab是否改变 所以对cron的修改是可以立即生效的 如果您想在cron中增加自己的作业 请将您要运行的命令的脚本文件或指向脚本的链接文件拷贝到目录/etc/cron hourly或cron daily或cron weekly或cron monthly下 lishixinzhi/Article/program/Oracle/201311/18426
功能介绍
1、Cron 服务管理
Cron 服务管理命令
2、Cron 服务管理
1、cron 服务的配置主要使用 crontab 命令。cron 服务在配置的 时候是基于当前用户的,不同的用户 cron 任务的存储文件也不同。
Cron 服务管理命令
3、Cron 服务配置
比如说 root 查看自己的 cron 设置:crontab -u root -l
再例如,root 想删除 fred 的 cron 设置:crontab -u fred -r
在编辑 cron 服务时,编辑的内容有一些格式和约定,输入: crontab -u root -e
进入 vi 编辑模式,编辑的内容一定要符合下面的格式:/1 ls >> /tmp/lstxt
这个格式的前一部分是对时间的设定,后面一部分是要执行的命 令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然 后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个号代表五个数字, 数字的取值范围和含义如下:
分钟 (0-59)
小时(0-23)
日期(1-31)
月份(1-12)
星期(0-6) //0 代表星期天
除了数字还有几个个特殊的符号就是""、"/"和"-"、",",代表 所有的取值范围内的数字,"/"代表每的意思,"/5"表示每 5 个单位, "-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个 例子说明问题:
每天早上 6 点
0 6 echo "Good morning" >> /tmp/testtxt //注意单纯 echo,从屏幕上看不到任何输出,因为 cron 把任何输出都 email 到 root 的信箱了。
每两个小时
0 /2 echo "Have a break now" >> /tmp/testtxt
晚上 11 点到早上 8 点之间每两个小时,早上八点
0 23-7/28 echo "Have a good dream:)" >> /tmp/testtxt
每个月的 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 服 务。
编辑/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/cronhourly // 每 小 时 执 行 /etc/cronhourly 内的脚本
02 4 root run-parts /etc/crondaily // 每 天 执 行 /etc/crondaily 内的脚本
22 4 0 root run-parts /etc/cronweekly // 每 星 期 执 行 /etc/cronweekly 内的脚本
42 4 1 root run-parts /etc/cronmonthly // 每 月 去 执 行 /etc/cronmonthly 内的脚本
Cron是Linux系统中最有用的工具之一,cron作业是在指定时间到来时被调度执行的作业。
最常见的自动化系统管理和自动维护工作,比如每天发出的按计划完成了备份的通知,或者是按计划定时清理/tmp/目录的通知。还有很多Web应用程序也需要执行定时作业。
本文讲述了Cron的工作机制,你可以用cron实现调度作业作业。Cron本身是一个守护进程,在后台运行,通过配置文件“crontab”来根据时间调度指定的作业执行。
一、启动Cron服务
基本上所有的Linux发行版在默认情况下都预安装了cron工具。即使未预装cron,也很简单,执行命令手动安装它:
root@Ubuntu-14:~# apt-get install cron
接着检查cron服务的状态,默认情况它应该运行于后台。如果它未启动,那么可以手动启动此服务。
root@ubuntu-14:~# service cron start
root@ubuntu-14:~# service cron status
cron start/running, process 1027
二、使用Cron帮助
如果cron工作正常,那么你可以使用man命令查看其手册描述的详细用法。
root@ubuntu-14:~# man crontab
上面的命令显示了crontab手册描述的使用方法。如果要查看怎样使用cron作业指定的信息,可以这样:
root@ubuntu-14:~# man 5 crontab
这里写描述
要退出帮助命令手册的显示,按下q键或h键。
这里写描述
三、Crontab命令的用法
下面讲述怎样使用crontab命令实现定时调度作业。
1、对Cron作业进行列表
使用以下命令列出当前用户计划的cron作业。
root@ubuntu-14:~# crontab –l
会列出当前用户的所有cron作业,如果想查看其它用户的cron作业,可以使用如下命令:
root@ubuntu-14:~# crontab –l –u username
这会列出指定用户的cron作业。
2、编辑Cron作业
要添加一个新cron作业,或者是编辑现有的cron作业,可以使用如下命令:
root@ubuntu-14:~# crontab -e
3、移除Cron作业
使用下面的命令移除已经计划的cron作业。
root@ubuntu-14:~# crontab –r
使用下面的命令移除所有已计划的cron作业,且无需再次确认。
root@ubuntu-14:~# crontab –ir
4、命令参数
-u user:用来设定某个用户的crontab服务;
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
四、用Crontab计划任务
除了通过配置文件来处理计划cron作业之外,还有别的方法可以做到。如果你查看/etc目录,你会发现有这样的目录:crondaily、cronhourly、cronmonthly等等。因此,把cron脚本放入这些目录中,那么系统会根据这些目录名定时执行这些作业脚本的。
1、Cron配置类型
Cron有两种配置文件类型,用于调度自动化任务。
1)系统级Crontab
这些cron作业被系统服务和关键作业所使用,且需要root级的权限才能执行。可以在/etc/crontab文件中查看系统级的cron作业。
这里写描述
2)用户级Crontab
用户级的cron作业是针对每个用户单独分开的。因此每个用户都可以使用crontab命令创建自己的cron作业,还可以使用以下命令编辑或查看自己的cron作业。
root@ubuntu-14:~# crontab –e
这里写描述
选择编辑器后,你可以配置新cron作业了。
五、用Crontab调度作业
可以使用指定的语法调度cron作业,而且还有速记缩写命令,使的管理cron作业很简单。
Crontab语法如下:
command to be executed
- - - - - -
| | | | | |
| | | | | --- 预执行的命令
| | | | ----- 表示星期0~7(其中星期天可以用0或7表示)
| | | ------- 表示月份1~12
| | --------- 表示日期1~31
| ----------- 表示小时1~23(0表示0点)
------------- 表示分钟1~59 每分钟用或者 /1表示
六、新Cron作业配置实例
现在你已经熟悉了crontab命令、语法及cron作业的类型,现在可以创建一些作业计划进行测试。可以使用crontab –e 命令添加。
1、每分钟运行的计划作业
下面的例子,创建一个cron作业,它每分钟输出文本“test cron job to execute every minute”并把文本发送到user@vexxhostcom邮箱。
首先用crontab命令编辑
root@ubuntu-14:~# crontab –e
写入以下的脚本
SHELL=/bin/bash
HOME=/
MAILTO=”user@vexxhostcom”
#This is a comment
echo 'test cron job to execute every minute'
:wq! 保存并退出
这里写描述
一旦保存了此cron脚本文件,就可以把它添加到计划的作业中。
2、在指定时间调度Cron job作业
假如想调度某个cron作业,让它在“每个星期四的下午7:00”运行,那么crontab脚本应该这样:
00 19 4 sh /root/testsh
再把它添加到调度作业中。
root@ubuntu-14:~# crontab -e
crontab: installing new crontab
以上就是关于Linux 使用基本知识: 用at和cron进行任务调度全部的内容,包括:Linux 使用基本知识: 用at和cron进行任务调度、请问统信的Cron定时任务服务咋用啊、关于linux-ubuntu下cron使用。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)