創建Cron作業我試圖在我的CakePHP的2.x的應用程序創建一個cron作業。但是,所有我已經在網上閱讀資源的似乎不是這樣做完全不同的彼此很少一致或非常複雜的術語解釋。在CakePHP的2.x的
基本上我創建了以下文件MyShell.php
在/app/Console/Command
<?php
class MyShell extends Shell {
public function sendEmail() {
App::uses('CakeEmail', 'Network/Email');
$email = new CakeEmail();
$email->from('[email protected]');
$email->to('[email protected]');
$email->subject('Test Email from Cron');
$result = $email->send('Hello from Cron');
}
}
?>
而且我希望每天晚上說運行在午夜這段代碼。
接下來我該做什麼?接下來的部分讓我很困惑!我在讀了書:http://book.cakephp.org/2.0/en/console-and-shells/cron-jobs.html,我應該運行一些代碼的終端,使其在一定的時間等。做到這一點,我可以用我的託管服務提供商,而容易似乎設置這些。
但我對控制檯目錄感到困惑。應該去什麼什麼文件夾中的位置:https://github.com/cakephp/cakephp/tree/master/app/Console
/Console/Command
/Console/Command/Tasks
/Console/Templates
也注意到,很多文件都是.PHP(如我的shell文件也.PHP),但根據文檔我讀過的Cron作業,執行的文件應該是.sh?
任何人都可以對此有更多的瞭解嗎?
那麼代碼將調用該命令?
例如會想這是不正確的:0 0 * * * cd /domains/driz.co.uk/html/App && cake/Console MyShell sendEmail
感謝
然後像WordPress這樣的軟件怎麼做呢?當它運行它們自動更新自己,我不會觸摸終端。 – Cameron
Wordpress不會自動更新。它詢問您是否要更新,並在登錄到管理界面時這樣做。所以,沒有cron運行。當有人查看管理頁面時,Wordpress可以根據最新版本檢查當前版本,如果不是最新版本,則會顯示一條消息詢問您是否要升級。 –
在v3.7中,它會自動更新並每天晚上發送一封電子郵件和進程日誌。 http://wordpress.org/news/2013/09/wordpress-3-7-beta-1/ – Cameron