关键词

Linux自动化工具之crontab (windows需要手动配置相关服务,具体百度)

//有的shell解释器是/bin/tcsh而不是传统的/bin/bash.而且两者语法有些差异,注意避免.比如设置变量tcsh是set 变量 =`****`

 

1.crontab是什么,是linux里面自带的一个定时任务可以让我们在某个时间段进行一些操作,无需人工干预。例如:定时发送邮件、自动采集、队列处理、数据备份、定时开灯等等,这只是一部分的举例,我们还可以用于更多的应用。不过在程序员里面通常用来做数据备份用以及定时执行数据操作用。crontab是每个用户都独有的。

 

2.也用来定时执行可执行文件。

crontab -l 可以查看当前定时任务执行计划。

crontab -e 可以编译当前定时任务执行计划。

crontab -u 【用户名】 后面接上 -l  / -e.查看指定用户的执行计划

 

cat /var/log/syslog 可以查看crontab执行情况

service cron [tab自动补齐] 可以看到很多选项

service cron restart重启

service cron status查看执行状态

默认linux都安装了crontab, 也可以sudo apt-get install crontab查看当前crontab是否安装

 

crontab格式如下:例如:*/2 * * * * xxx 的意思是每两分钟执行一次xxx程序。

//每天的1-6点每十分钟执行一次
*/10 1-6 * * * echo `date`>>/home/sunny

//每天的凌晨10分追加一次
10 1 * * * echo `date`>>/home/sunny

//精确到秒需要借助sleep函数,如下:
* * * * * echo `date`>>/home/sunny
* * * * * sleep 10;echo `date`>>/home/sunny
* * * * * sleep 20;echo `date`>>/home/sunny
* * * * * sleep 30;echo `date`>>/home/sunny
* * * * * sleep 40;echo `date`>>/home/sunny
* * * * * sleep 50;echo `date`>>/home/sunny

重点:
1.如果程序执行不成功:在crontab -e的界面最上两行输入如下:指定脚本执行shell以及环境变量

SHELL=/bin/bash

2.如下,加入./etc/profile

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

* * * * * ./etc/profile;/home/wzw/C++/timeget/wzw.sh > 1.txt
*/1 * * * * date > /home/wzw/Desktop/2.txt

3.如果想直接执行echo hello或者date,那么在crontab添加上述指令后,不能在当前终端查看到任何输出,
只能重定向输出到某一绝对路径文件中。(crontab 执行任务是在系统里面执行,执行的时候是没有终端的)

 

 

 

 

 

 

 

本文链接:http://task.lmcjl.com/news/13706.html

展开阅读全文