Warning: include(/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php): failed to open stream: No such file or directory in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: include(/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php): failed to open stream: No such file or directory in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24

Warning: include(): Failed opening '/home/blog66rr/public_html/wp-content/plugins/hyper-cache/cache.php' for inclusion (include_path='.:/opt/cpanel/ea-php70/root/usr/share/pear') in /home/blog66rr/public_html/wp-content/advanced-cache.php on line 24
工作排程 – unethost無限空間虛擬主機 技術分享部落格

cpanel 排程教學(配合自動備份)

我們有一篇: 如何設定cpanel單一帳戶的遠端自動備分?
最後有提到,進ssh去做 crontab -e ,但ssh對於一般user會有操作上的難度,
所以在此,我們介紹cpanel的gui操作方式。

1. 登入 cpanel > 進階工作 > 工作排程 。

2. 請選擇”標準” 。

3. 新增排程 (我們現在是以每日為一次) 。

4.  確定已寫入。

 

註:
1. 隔天需要在進 ftp 查看,備份檔案是否已經產生。
2. 你的空間帳號,需改成ftp帳號,否則備份將無法上傳。

如何設定cpanel單一帳戶的遠端自動備份?

cpanel有提供可以從外部呼叫的API,如果活用這些API,就可以做到:定時將帳戶的內容備分到遠端的ftp主機中。

實作方法:

(1) 準備好用來作遠端備分的ftp,並且在ftp的登入目錄裡,加上 /backup/AAA這個目錄,建議AAA的部分,取有意義一點的名稱,最好和網站的名稱相關。

(2)  在cpbackup.php 這個檔案之中,要先做對應的修改,總共需要改九行

// Credentials for cPanel account ( 這邊填原始,要被備分的cpanel account相關資訊 )
$source_server_ip = “”; // Server IP or domain name eg: 212.122.3.77 or cpanel.domain.tld
$cpanel_account = “”; // cPanel username
$cpanel_password = “”; // cPanel password
// Credentials for FTP remote site ( 這邊填遠端的ftp資訊 )
$ftphost = “”; // FTP host IP or domain name
$ftpacct = “”; // FTP account
$ftppass = “”; // FTP password
$email_notify = “”; // Email address for backup notification
//
// Delete any other backup before create new backup
$conn_id = ftp_connect($ftphost);
$login_result = ftp_login($conn_id, $ftpacct, $ftppass);
$logs_dir = “/backup/AAA“;
ftp_chdir($conn_id, $logs_dir);
$files = ftp_nlist($conn_id, “.”);
foreach ($files as $file){
    ftp_delete($conn_id, $file);
}
ftp_close($conn_id);
$api_args = array(
                           ‘passiveftp’,
                           $ftphost,
                           $ftpacct,
                           $ftppass,
                           $email_notify,
                            21,
                            /backup/AAA
                         );

(3) 用ftp 上傳檔案
在account的public_html  下,放上這兩個檔案,( 檔案在此可以下載,選cpbackup script )
xmlapi.php
cpbackup.php

在這邊要特別注意一點:
backup這個功能,因為相對消耗資源,放在public_html下,是說可以透過browser來啟動,很方便。但是,如果是很容易被攻擊的網址。就最好不要放在這麼明顯的地方。

(4) 此處,有兩種方法可以執行這個php來做檔案的備分:
(a)  在browser上, http://你的域名/cpbackup.php
(b)  用該account的id/pw ( 不要用root的 )   ssh 登入這個account, 然後下指令     php -q /home/你的帳戶名稱/public_html/cpbackup.php 

理論上,出現的message應該是長成這樣子:

Warning: ftp_delete(): Could not delete .: Invalid argument in /home/blog66rr/public_html/cpbackup.php on line 28
Warning: ftp_delete(): Could not delete ..: Invalid argument in /home/blog66rr/public_html/cpbackup.php on line 28
{“apiversion”:”1″,”type”:”event”,”module”:”Fileman”,”func”:”fullbackup”,”source”:”module”,”data”:{“result”:””},”evenls -l /home/blog66rr/public_html/cpbakcup.php

這樣子,資料應該就會備分到你的ftp了。

另外,週期性執行不一定需要。如果說只做一次的話,就不用這麼麻煩。用這個方式,因為是透過ftp的關系,比較不會受到browser 斷線的問題。ftp比較適合處理這種大型的backup檔。

(5) 用該account的id/pw ( 不要用root的 )   ssh 登入這個account
下指令:
crontab -e

這樣子是設定每天備分:
0 0 * * *   php -q /home/你的帳戶名稱/public_html/cpbackup.php
這是每週備分
@weekly    php -q /home/你的帳戶名稱/public_html/cpbackup.php
這是每月備分
@monthly  php -q /home/你的帳戶名稱/public_html/cpbackup.php

(6) 最後還有一個但書。在用來backup的ftp這邊,會有一個問題:檔案愈積愈多。所以在用來backup的ftp主機這邊。最好也設置工作排程 ( cronjob )

find /path/to/files* -mtime +5 -exec rm {} \;

這個指令的意思是:到 /path/to/files* 這邊,找出超過5天沒有使用的檔案,將它刪除。

 

(備註:unethost.com虛擬主機,已有每日自動異地備份)

如果要創業,需要先考慮租虛擬主機嗎?

從統計來講,新創的公司90%活不過3年,這往往是成本控管的問題。由於,身為主機商的我也常被問這個問題:「如果要創業,需要先考慮租虛擬主機嗎?」

在此也提供我的觀點。我的觀點的核心思考,是先有盈餘再考慮投資。
(1) 最初期可以考慮不租用主機,買域名就好。域名一個價位約在台幣400塊一年,算是容易負擔得起的價位。有了自己的獨立域名,也可以用這個域名,設定轉址,指向自己在露天、雅虎的商城,或是自己的blog。

(2) 對於傳統產業
如果是賣衣服、鞋子、百貨等等的線上商店,且商品沒有違反善良風俗,也就是說:在露天、雅虎等線上商城都可以上架,那其實大可以把主機的費用先省下來,先用免費的就好。 門面固然重要,但是也可以不急於一時。等到線上商店起步一兩年後,已經有一定的營收時,例如,每年營收100萬。這時候,可以開始考慮逐步引入虛擬主機。初期的話,由於unethost提供的主機是無限流量的,可以考慮先租來做為圖床使用。中後期,則可以考慮在租用的空間裡,發展自己的帳務系統、進銷存系統、購物車等。

(3) 對於科技資訊業
一般而言, 科技資訊業本身的員工,對於網站有一定的維護能力,不一定需要租用虛擬主機。然而這時候,可以考慮成本和穩定性。舉個例子,租用虛擬主機之後,由於公司對外網站,是架在主機商的共用伺服器中,如此就避免了架在公司內部電腦,常有的停電、中毒等因素,造成的網站停擺。

最初期,可以考慮先只購買域名。等到公司對外網站逐步發展到一定的規模時,例如:每天上站人數1000人、或是說,每天有大量的檔案下載,這時就可以考慮換成租用虛擬主機。

(4) 對於內容文化產業
這個行業的特色是,一方面賣的商品,算是虛擬的商品( 影片、文字等),所以對網站的需求比較高,另一方面,這個行業的核心,並不是資訊處理。也就是說,從事這個行業的人員,通常不會有高水準的IT素養。在這樣子的現實之下,儘早租用主機,把非核心的網站架設交給主機商。等到論壇/blog等程式架好了之後,再來自己維護。該外包的外包,業主本身專心於本業,算是比較經濟的作法。

 

延伸閱讀: 如何取網域名稱?可以幫助seo的優化嗎?