crontab非常的简单好用,基本上就是按照这样子的格式来写。
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
在使用crontab命令的时候,可以直接在命令行输入crontab -e来进行编辑,crontab -l来查看编写的命令。
具体的例子如下:
* * * * * echo '123' >> 123.txt
这里的*代表分,时,日,月,周。然后后面跟着要执行的命令。然而这里面的*可以使用这样的形式:
这里的*以分为参考,*/1 每隔1分钟执行一次,30-60在30到60这个分钟区间都执行命令。
>>表示写入123.txt文件,如果不存在就创建一个文件,并且在文件后面添加数据
>表示创建新的123.txt文件,再写入 数据
在上面的写法当中,会出现无法知道文件是否错误的问题。所以这里要加2>&1来控制。因为crontab默认是将错误输出发送邮件的方式来告诉我们,这里面的修改就是
这里面的数字代表:0表示键盘输入,1表示标准输出,2表示错误输出.* * * * * echo '123' >> 123.txt 2>&1
这里面的意思就是将错误输出重定向到标准输出里面,所以有错误的时候就会写入到123.txt文件。这里面的命令最好是使用绝对路径,毕竟这里面识别的命令只在/bin/里面,所以php这个命令也是不会识别出来的。所以要找到这个命令的绝对路径,这里面我们可以使用which php,这样子就可以了。注意的是在命令行你的php命令是可以使用的才行。