Linux提供了用户控制例行任务的命令crontab,常用于每间隔一定时间循环执行一些脚本,此处我们暂时称为:Linux定时任务。
#问下男人crontab的用法
man crontab
crontab [ -u user ] { -l | -r [ -i ] | -e }
参数:
-u:只有root才可以执行此任务
-l :查看crontab工作内容
-e:编辑crontab工作内容
-r :删除crontab工作内容
crontab应用场景举例:定时采集远程服务器文件
手机发送短信,短信回以文本形式记录在交换机上形成短信话单,短信话单通常是达到5M,如果不满5m则每五分钟形成一个话单(不同的交换机可能存在差异)。如果对话单计费,当然需要对短信话单进行采集,然后进行后续计费工作。我们假设采用shell或者python脚本采集,暂且用shell举例,假设采集shell为acquisition.sh ,每间隔1分钟采集一次。
命令终端执行:
#标示编辑例行任务
crontab -e
然后我们将会看到如下画面:
已经进入VI 编辑模式,在里面输入下面这行,按下ESC->:->wq就保存了
#每间隔一分钟执行一次采集脚本
*/1 * * * * crontab /路径/acquisition.sh
crontab的格式为:
分钟 小时 日 月 周 crontab 待执行命令或者脚本
其中:* 代表任何时间都接受,如上例小时、日期、月份、周都为*
,代表分割时间段,如分钟修改为:0,1,2,3,4,5 即任何小时地1,2,……6分钟都执行
- 代表时间段上面的每间隔一分钟可以标示为0-59;
/n 代表每间隔,分钟位置:*/5标示每间隔五分钟
注意:*和*之间只有一个空格;
EOF