當你租用了主機之後,它就可以24小時工作,所以可以的話,當然要讓它多做一些!在Windows的作業系統之下,有一個電腦自動排程器可以使用,詳細的設定,請參考【善用電腦的自動排程式】這篇文章。而曾經有使用過Linux作業系統的朋友也都知道Crontab指令的用處。那麼,如果我們租用了一台Linux的虛擬主機,又如何設定這台虛擬主機的自動執行功能呢?答案就在這裡:

cj01

  也是一樣,登入cPanel主機控制台,找到Cron Jobs這個功能,點擊進去之後就可以看到以下的設定畫面:

cj02

  第一個部份是要設定當執行指令之後,要接收訊息的電子郵件帳號,接下來這個部份才是真正設定時間週期的地方:

cj03

  你可以依照傳統的Cron設定方式(詳細內容請到搜尋引擎中搜尋crontab使用格式說明,有非常詳細的資料可以參考)來設定每一個部分,達到你想要執行的週期。另外,我們也可以透過Common Setting來設定常用的週期,按下去之後,有這些可以選擇:

cj04

  包括每分鐘一次(Once Per Minute),每小時二次(Twice Per Hour),每週一次(Once Per Week)等等,你可以任選一個,然後在下面的Command:處填入要定時執行的指令即可:

cj05

  設定完成之後,再按下「Add New Cron Job」按鈕之後,看到以下的訊息:

cj06

  就表示大功告成了!!

  但是,到底是要執行什麼樣的程式呢?使用這個指令你一定要有一個認知,就是它是去執行你所租用的那台主機上的程式,不是在你的個人電腦裡面的程式,所以,一般來說,我們都是會以PHP網頁的方式完成我們想要做的工作(或是已經存在於主機上的Linux程式)。例如,你可以在你的網站裡面設定一個PHP程式來定期幫你搜集網路上的資訊(例如網路特定的新聞來源)並過濾之後儲存在資料庫中以方便以後的查閱工作。這樣的程式是以網址的方式來呼叫,就可以避免掉一些主機權限設定上的問題。

  但是有一點要注意的是,我們平時在瀏覽器中啟用某一個.php程式,它會在伺服器端被執行,然後把輸出結果丟到使用者的瀏覽器來顯示,這是很直覺的做法。但是,如果我們透過定期排程來讓主機執行這個php程式,那麼要輸出到哪裡呢?這時候就需要使用到wget指令了。

  wget是Linux作業系統中一個常用的指令,它的功能是用來下載網路上的檔案或是網頁,如果是php檔案,它也會讓這個檔案先在伺服器端執行過之後,再把執行完的輸出結果呈現出來。然而我們在前面說過,在排程器執行指令的時候,是沒有地方可以接收輸出的訊息的,所以我們加上了-q這個指示,告訴這個程式不需要任何的輸出訊息。

  也就是說,我們可以透過wget -q指令去啟用網站中的.php程式,讓它執行過之後,但是並不輸出任何的內容。所以,我們就可以使用這個方法,撰寫我們要執行的特定功能的PHP程式,並透過cron jobs功能去定期執行它!

  以我們在這篇文章中設定的程式,其實是一個自動影音部落格網站的自動匯入影音文章的功能(執行例請參考這個網站:http://iphone.104.es),它是架構在WordPress網站下的一個佈景主題,透過一些簡單的設定,你就可以擁有一個會自己到Youtube上抓取特定關鍵字的影片,把它變成你的網站的文章的一部份,還滿有趣的。有興趣的朋友,可以自己到它們的介紹網站EasyAutoTube上去看看唷!

(1547)

%d 位部落客按了讚: