如何在特定的时间运行一个命令
at命令能在您所指定的时间运行您选择的命令例如如果我想在上午点钟播放CDROM中的乐曲则键入如下命令
$ at :
at> cdplay
在上面的例子中我先键入at :然后键入回车随后出现at命令提示符at>在这个提示符下又键入命令cdplay然后用结束输入如果没有键入而输入回车则at>会在下一行出现这样就可以键入另一条要在 : 执行的命令
依次类推您可以安排从:开始执行的一系列命令在命令输完后用结束输入相当于向当前输入发出了一个文件尾信号因此如果您连续按两次的话您就会从系统中注销
下面的命令将列出所有待执行的作业该命令会按照序号显示当前全部作业
$ at l
如果要删除队列中的某个作业使用如下命令它将删除队列中序号为的作业
$ at rm
下面的命令将在新的千年开始前五分钟启动X Window系统
$ at : //
at> startx
如果一般用户无法使用at命令的话请检查一下文件/etc/atdeny和/etc/atallow在默认配置中系统允许所有的用户使用at命令如果您只想让某些用户使用at命令就需要创建文件/etc/atallow并将可以使用at命令的用户列在文件中
对于at的其它可选项请参见man at
如何设置cron
我们在红旗Linux系统中默认安装了cron它是一个Linux进程主要用来在夜晚运行某些后台作业所以您一般不需要对它做任何改动除非您想在其中增加某些作业或修改cron运行作业的时间
cron的某些作业对系统而言是基础用来保证系统能够长时间正常工作
cron的工作主要包括
重建文件位置的数据库这样您才能用 locate 命令查找
清空/tmp目录
重建用户手册
进行某些检查设置例如增加新字体
我们在每天下班时不应该关闭Linux否则cron就无法完成它的工作如果您确实要将计算机在夜晚关闭就应该调整cron让它在其它时间完成必需的工作
查看/etc/crontab文件可以了解cron作业什么时候被唤醒
$ cat /etc/crontab
一个可能的示例文件如下
# runparts
* * * * root runparts /etc/cronhourly
* * * root runparts /etc/crondaily
* * root runparts /etc/cronweekly
* * root runparts /etc/cronmonthly
其中包括了四类作业每小时执行一次的每天执行一次的每周执行一次的和每月执行一次的您也可以修改该文件以增加您自己的cron类别
文件中每一项的含义如下分钟()小时()一月中第几天()月份数()星期几(或星期天至星期六)其中*表示任何有效数字
因此每小时完成的作业记录在目录/etc/cronhourly中这些作业每个小时的第分钟将被执行每天完成的作业记录在目录/etc/crondaily中这些作业每天点过分执行每周执行的作业在星期六的上午点分执行每月执行的作业在每月日上午点分执行每一项的最后一列指明了当时间到了以后要运行的命令文件的完整路径名
如果您想把早晨点分执行的cron作业在中午进行把修改为即可cron在每分钟都会被唤醒一次并检查/etc/crontab是否改变所以对cron的修改是可以立即生效的
如果您想在cron中增加自己的作业请将您要运行的命令的脚本文件或指向脚本的链接文件拷贝到目录/etc/cronhourly或crondaily或cronweekly或cronmonthly下