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

分类:CentOS教程 阅读:97253 次

定期任务执行:

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