目前,我的应用程序有几个命令,每次我必须输入命令并手动运行程序。
目前,我决定创建一个crontab来执行这些命令。但我不确定基于Symfony创建crontab的过程。例如,如何创建crontab,我应该将crontab文件放在哪个文件夹中等等。
答案 0 :(得分:2)
您可以从Ubuntu文档中找到一些excellent references,或者从manual page找到nixcraft article可以理解的东西,但crontab所做的全部是执行shell命令,
每个cron定义都在文件的行上,格式如下:
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
您可能想要采用的一般形式是:
0 12,13 * * * cd /var/www/path/to/symphonyappdir/ && php mysymphonything.php
cd
通常应该使用app dir的绝对路径,&&
是'and'的逻辑,所以如果'cd'失败(可能是因为目录无法访问)下半场不会执行。
将此文件保存在任何位置,crontab manual建议用户不要直接编辑crontab文件。
使用以下命令打开主crontab文件:
crontab -e
或者使用以下命令将新文件添加到crontab:
crontab mynewcronfile
您还可以使用以下内容获取当前的crontab文件:
crontab -l