【发布时间】:2021-01-19 19:28:12
【问题描述】:
所以我有一个 cron 文件 sms.cron 我想每 15 分钟执行一次,看起来像这样:
15 * * * * docker-compose exec php bin/console app:send-sms
我不精确的命令路径,因为命令在根目录和sms.cron 也是如此
我尝试使用命令手动运行它:
crontab sms.cron
并得到以下错误:
"sms.cron":1: bad minute
errors in crontab file, can't install
我知道我有一个语法错误,但在互联网上查看了几个类似的问题,但没有看到这个错误可能来自哪里。
有没有人知道这个语法错误可能来自哪里? 谢谢!
更新
也试过这个语法:
*/15 * * * * docker-compose exec php bin/console app:send-sms
返回以下错误信息:
"sms.cron":0: bad minute
errors in crontab file, can't install.
od -c sms.cron的输出:
0000000 ` ` ` \n * / 1 5 * * * *
0000020 d o c k e r - c o m p o s e
0000040 e x e c p h p b i n / c o n
0000060 s o l e a p p : s e n d - s m
0000100 s \n ` ` `
0000105
更新
问题来自那些字符:```
在我的命令前后出现在我的cron file 中
【问题讨论】:
-
可能你对 CRON 有误解。您安装了一个作业,该作业将由 CRON 每 15 分钟运行一次。似乎您正在尝试每 15 分钟安装一次 cron 作业?或者我的 CronJob 的结尾有误:)
-
是的,cron 最终将用于执行此操作,与此同时,虽然我需要手动运行它以查看它是否正常运行,并且错误语法阻止我这样做
-
你能正确运行
docker-compose exec php bin/console app:send-sms吗? -
是的,这个命令工作正常并且有几个测试
-
你运行
docker-compose我认为首先你需要进入你的 docker-compose.yml 文件所在的目录,然后运行它