2014-06-20 63 views
1

參數試圖建立一對情侶在cPanel的cron作業,但由於系統使用命令行的crons我不能使用參數cron作業 - 這是一個WordPress cron和依賴於URL參數。在命令行

我如何能得到這個命令行通過工作?

php -q /home/facebnzc/public_html/folkeuniversitetet/wp-cron.php?import_key=NAbeK7X&import_id=1&action=processing 
+4

的命令行有絕對**電話**網址的知識。 '?'將被視爲一個shell widlcard,並且你會得到「不匹配」,'&'會成爲一個作業控制操作符,並將你的整個php命令放到後臺,等等等等等等。命令行與網絡完全沒有任何關係,你不能指望web地址對shell有任何意義。 –

+1

也許這有助於:http://stackoverflow.com/q/8558041/367456 - 基本思想是你使用cron命令爲你做web請求。通常這是用curl或wget完成的,一些cpanels允許你爲他們的「類型」cron指定webrequest。 – hakre

回答

2

這個常量只是啓用或禁用準備觸發事件的檢查。我們仍然在 之後添加和管理事件。我們只需手動點擊WordPress安裝中的wp-cron.php文件就足以在需要時觸發我們的腳本。

如果你所有的只是日常的腳本,你可以像這樣通過crontab中添加一個cron作業-e 命令:

0 0 * * *的wget -O - -q -t 1 http://yoursite.com/wp-cron.php?doing_wp_cron=1

有關如何使用cron的信息可以在其Wikipedia條目找到。關於 的信息可以在wget手冊中找到如何使用wget。

0 0 * * *上述條目的一部分告訴cron在每週的每一天的第0小時(午夜)的0分鐘 處執行此腳本。

wget -O - -q -t 1 http://yoursite.com/wp-cron.php?doing_wp_cron=1部分 使用wget命令加載WordPress安裝中的wp-cron.php頁面。該 -O - 告訴wget發送輸出到devnull和-q啓用安靜模式。這將使 cron不會將文件添加到您的服務器,也不會將每個cron運行的輸出通過電子郵件發送給您。 -t 1告訴cron嘗試一次。如果第一次嘗試失敗,這將使wget多次觸擊您的服務器 。如果對wp-cron.php的呼叫失敗,您網站的其他部分可能也會失敗;希望你已經收到通知。

一定要改變yoursite.com到您的實際網站的網址。最後,在URL的末尾?doing_wp_cron=1是因爲WP-cron.php需要在運行前會檢查該 $_GET參數。