Redhat

OpenShift cron 不執行

  • December 10, 2014

我有以下文件

[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

我在這裡想念什麼?!

OpenShift cron 目錄旨在包含要執行的實際腳本,而不是傳統的 crontab 樣式條目。

因此,您應該編寫一個簡單的腳本來呼叫您的 PHP 程式碼。

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

引用自:https://serverfault.com/questions/645988