> CentOS > CentOS入门 >

定期任务执行的命令:at、crontab、anacron

定期任务执行:
1、在未来的某个时间仅执行一次
#at
at
时间表示法
HH:MM[AM|PM]
MM/DD/YY
now+#
miniutes
hours
Ctrl+d 提交完成
任务完成后通过邮件的方式发送过来
-l查看任务,列出任务列表的任务计划
#at -l =atq
#at -r job_num =atrm job_num 移除一个任务
#at -f file TIME(vim atfile)  是从一个文件中读取一个任务而不是交互式模式。
#batch
不用指定时间
其余用法和at相同
2、在未来周期性去执行一个任务:
crontab
必须指定绝对路径,如:/bin:/sbin:/usr/bin:/usr/sbin
crond是一 个服务
用这些命令查看
chckconfig --list 服务列表
rpm -qf /`which cornd`  是否安装

service cornd status   服务的运行状态

ls /var/spool/cron/  任务在这个目录下保存
cron可分为两类:
1、用户cron
/var/spool/cron/USERNAME
2、系统cron  (需要指定用户)
/etc/crontab
时间;
min:00-59
hour:00-23
day:01-31
month:01-12
星期:day of week:00-07(0、7都表示星期日)
非连续时间点:
用逗号来表示:
15,45 * * * * 表示在每个小时的15分钟和45分钟所执行的任务

连续的时间点:—
12 8-18 * * * 表示从8点到18点所执行的任务

每几分钟执行
用除法
*/#
例:*/3 * * * *表示每3分钟执行的任务
每3分钟执行一次
16 */3 * * *每3小时
命令:crontab
     crontab -e编辑任务
     crontab -l 列出任务
     crontab -r 删除任务
     crontab -u 为用户指定crontab
crontab -u redhat -e 编辑redhat用户的crontab
任务中的脚本,脚本中的命令使用绝对路径或者在脚本中定义好PATH
10 3 * * * /bin/tar -jcf /backup/etc-`date +%F`.tar.bz2 /etc
anacron
在/etc/anacrontab配置文件
多少天没执行的任务,开机后第多少分钟执行一次
作用:检查crontab是否执行



在linux操作系统中有两个时间一个是系统时间一个硬件时间
用命令:date、clock 来分别查看

用命令hwclock来改变两个时间
-w表示将date 写入clock



-s 表示将clock 写入date
(责任编辑:IT)