您的位置:首页 > 运维架构 > Linux

Linux定时执行任务

2016-07-25 16:32 489 查看

目录

目录

AT命令

Crontab 服务

Crontab简介

启动Crontab服务

安装cron

一个简单的例子

Crontab配置文件格式

例子

Crontab工具的使用

Crontab 配置文件

Crontab 常见错误

Crontab 半分钟执行一次

anacron

Linux下有两种定时执行任务的方法:at命令和Contab服务

AT命令



- at [选项] 时间

- 选项:

– m:当at工作完成时,无论是否有命令输出,都通过email通知执行at命令的用户

–c 工作号:显示该at工作的实际内容

- 时间:

- HH:MM 02:30

- HH:MM YYYY-MM-DD 02:30 2016-10-04

- HH:MM[am|pm] [month] [date] 02:30 July 25

- HH:MM[am|pm] + [minutes|hours|days|weeks] now +5 minutes

- at now +2 minutes

- atq 查询系统中的定时任务

- atrm 工作号 删除指定的at任务

Crontab 服务

Crontab简介

Crontab 是一个用于设置周期性被执行任务的工具

启动Crontab服务

service crond start



安装cron

yum install vixie-cron

yum install crontabs

一个简单的例子

每分钟打印当前时间到一个日志文件中

# crontab -e
# */1 * * * * date >> /tmp/logo.txt


Crontab配置文件格式

* * * * * COMMAND
|  |  | |  |--- 星期0~7(0或者7表示星期天)
|  |  | |----- 月份1~12
|  |  |------ 日期 1~31
|  |-------- 小时0~23
|---------- 分钟0~59


例子

每晚的21:30重启apache

– 30 21 * * * service htttpd restart

每月1、10、22日的4:45重启apache

– 45 4 1,10,22 * * service httpd restart

每月1到10日的4:45重启apache

– 45 4 1-10 * * service httpd restart

没个两分钟重启apache

– */2 * * * * service httpd restart

– 1-59/2 * * * * service httpd restart

晚上11点到早上7点之间,每隔一小时重启apache

– 0 23-7/1 * * * service httpd restart

每天18:00至23:00之间每隔30分钟重启apache

– 0,30 18-23 * * * service httpd restart

– 0-59/30 18-23 * * * service httpd restart

Crontab工具的使用

查看用户的计划任务:crontab -l

编辑当前用户的计划任务:crontab -e [-u] [用户名]

删除当前用户的计划任务:crontab -r

Crontab 配置文件

全局(系统)配置文件

– /etc/crontab

用户配置文件

– /var/spool/cron/root

日志文件

– /var/log/cron

执行系统定时任务的方法

– 手动指定定时任务

– 系统定时任务

第一种是把需要定时执行的脚本复制到/etc/cron.{daily,weekly,monthly}目录里面的任意一个

第二种是修改/etc/crontab配置文件

Crontab 常见错误

环境变量:Crontab不识别.bash_profile里面定义的环境变量

第三个和第五个之间指定的是“或”操作

– 四月的第一个星期日早晨1时59分运行a.sh

– 59 1 1-7 4 * test `data + \%w` -eq 0 && /root/a.sh

Crontab 半分钟执行一次

结合sleep命令

– * * * * * sleep 30s; 命令

anacron





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: