logo头像

科技始终来源于人性!

Linux 定时任务配置

记录下项目当中用得还是比较多的 Linux 定时任务。平时在项目当中,会在用在一些信息的同步上,错误日志的处理等等。

首先,介绍一下 Linux定时任务 Crontab 命令组成。

基本格式 :

1
* * * * * command 

分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

【相关命令】

1
2
3
4
5
6
7
8
9
10
11
12
crontab -l  //列出当前服务器的定时任务

crontab -e //添加/编辑已有的定时任务

service crond start //启动服务

service crond stop //关闭服务

service crond restart //重启服务

service crond reload //重新载入配置

【流程】

连接远程服务器后,crontab -e 进入定时任务列表,i 进入编辑模式,添加完需要执行的定时任务命令后, esc 退出编辑模式, :wq 写入保存定时任务,并回车退出任务列表。dos 界面会提示 installing new crontab ,这是是服务器正在安装新的定时任务。

【实用例子】

每分钟执行一次 curl 请求
*/1 * * * * /usr/bin/curl http://xxxx

每5分钟执行一次php文件
*/5 * * * * /usr/bin/php /var/www/time_task/xx.php

每小时的0分,30分各执行一次 curl 请求
0,30 * * * * /usr/bin/curl https://xxx.com

每月1、10、22日的4:45 执行一次命令
45 4 1,10,22 * * command

每天18:00至23:00之间每隔30分钟 执行一次命令
0,30 18-23 * * * command