使用 Getright 下載 Cpanel 上的備份檔

從 windows 95 時代,使用 Getright 到現在也很久了,現在才想到這個方法可以用來每日備份我的資料庫檔案 (sql)。由於我所處的網路環境限制很多(指通訊埠),加上我也沒主機可以執行 cron job,以自動收取虛擬主機上的sql檔,所以想,我常用的getright可不可以設定好,定時幫我備份呢?

pic-download

要作之前要確定幾項事:

# 你看得懂 *.bat 檔。
# 有 “Getright":http://www.getright.com/ (商業軟體),當然你也可以找類似的下載管理軟體。
# 會使用windows的「排定的工作」來作排程的工作。

我參考了《ServerZoo 討論區 -> 自動備份分享》這篇文章,利用 Getright 來執行基本語法如下:

http://loginname:password@www.your.site:2082/getsqlbackup/sql-name.gz

上面是虛擬主機上的下載資料網址的語法,loginname 指帳號、password 指密碼,www.your.site 自已改成自己的網域,2082 是 cpanel 的預設合法埠號,sql-name.gz 是說你想下載一個叫 sql-name 的資料庫的 gz 壓縮檔。

你得自己改囉。

然後再編輯 getright 提供給你的 bat 範例檔,大概寫像下面這樣:

@echo off

::**********************************************************************
:: Demonstrates using a batch file to script GetRight.
:: Shows saving older copies of the file being repeatedly downloaded.
::
:: You must use START /W if you use the /W parameter in GetRight so
:: that a Windows DOS prompt will really wait until everything finishes
:: to continue with the batch file.
::**********************************************************************

::*** See if the file already exists.
::*** Uses the fact that GetRight adds .GetRight to the name until the file is done.
if not exist c:jameschieftainsql-name.gz goto DOWNLOAD_IT

::*** Does exist, so get rid of oldest and move other copies back before re-downloading.
del c:jameschieftainsql-name.gz.5
ren c:jameschieftainsql-name.gz.4 sql-name.gz.5
ren c:jameschieftainsql-name.gz.3 sql-name.gz.4
ren c:jameschieftainsql-name.gz.2 sql-name.gz.3
ren c:jameschieftainsql-name.gz.1 sql-name.gz.2
ren c:jameschieftainsql-name.gz sql-name.gz.1

:DOWNLOAD_IT
::*** Download the file…
start /w GETRIGHT.EXE /url:"http://loginname:password@www.your.site:2082/getsqlbackup/sql-name.gz" /file:"c:jameschieftainsql-name.gz" /w

::*** Check if file exists to give OK or fail msg.
if exist c:jameschieftainsql-name.gz goto DONE_DOWNLOAD
echo ERROR: Download Failed!
goto EXIT
:DONE_DOWNLOAD
echo Downloaded OK!

:EXIT

有多個資料庫的話,就copy codes,從這裏: if not exist c:jameschieftainsql-name.gz goto DOWNLOAD_IT 到這裏: echo Downloaded OK! 之前的區間的語法,貼在 :EXIT 這行的上面。

c:jamechieftain 改成自己想要的目的地。先執行這個bat檔試試可不可以work。

把上面的文字檔,另存成 download.bat 檔,然後使用windows的「排定的工作」來作download.bat的排程工作,設定排好的頻率,測試、成功、收工。

這樣你就可以不用自己親自動手,電腦會自動定期收你cpanel上的sql檔下來你的windows系統的電腦了,而且可以保有五次過往的備份。

看起來很土法鋉剛,不知道有沒有高手有其他方式可以提供呢?

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s