OpenShift cron 未运行

OpenShift cron 未运行

我有以下文件

[subdomain.rhcloud.com minutely]\> pwd
/var/lib/openshift/username/app-root/repo/.openshift/cron/minutely
[subdomain.rhcloud.com minutely]\> ls -lha
total 4.0K
drwx------. 2 username username 24 Nov 20 21:08 .
drwx------. 3 username username 21 Nov 20 20:46 ..
-rwxr-xr-x. 1 username username 73 Nov 20 20:54 ticktock.sh
[subdomain.rhcloud.com minutely]\> cat ticktock.sh
*/1 * * * * username php ../../../cron/status.cron.php

[subdomain.rhcloud.com minutely]\> php ../../../cron/status.cron.php
[subdomain.rhcloud.com minutely]\> 

如图所示,文件内容执行正常。文件权限似乎正确。但Cron 1.4墨盒似乎没有启动ticktock.sh。

所以我尝试手动调用它:

[subdomain.rhcloud.com minutely]\> ./ticktock.sh
./ticktock.sh: line 1: */1: No such file or directory

它告诉我那里存在的文件不存在。

所以我尝试了 php 的完整路径,

[subdomain.rhcloud.com minutely]\> /opt/rh/php54/root/usr/bin/php -v
PHP 5.4.16 (cli) (built: Oct 23 2014 05:04:35) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

并且 ticktock.sh 变成了

[subdomain.rhcloud.com minutely]\> cat ticktock.sh
*/1 * * * * 546e69f54382ec6013000027 /opt/rh/php54/root/usr/bin/php ../../../cron/status.cron.php

但它仍然没有通过 cron 或命令行执行

[subdomain.rhcloud.com minutely]\> ./ticktock.sh
./ticktock.sh: line 1: */1: No such file or directory

我在这里遗漏了什么?!

答案1

OpenShift cron 目录旨在包含实际要运行的脚本,而不是传统的 crontab 风格的条目。

因此您应该编写一个简单的脚本来调用您的 PHP 代码。

#!/bin/bash
/opt/rh/php54/root/usr/bin/php ../../../cron/status.cron.php

相关内容