上一個主題: 配置 Data Repository 備份到相同的主機上 (單一節點與叢集安裝)。下一個主題: 還原 Data Repository


配置 Data Repository

配置 Data Repository 進行自動化備份。

遵循這些步驟:

  1. 以資料庫管理員使用者的 Linux 使用者帳戶登入 Data Repository。

    附註:在叢集安裝中,您可以從參與叢集之三部主機中的任一部,登入 Data Repository。 不過,我們建議您登入將會啟動備份的 Data Repository 主機。

  2. 若要建立可重複使用的配置指令碼,用以備份及還原 Data Repository,請以資料庫管理員使用者的 Linux 使用者帳戶身分,輸入下列命令:
    /opt/vertica/bin/vbr.py --setupconfig
    

    附註:我們建議您針對配置檔,在目標目錄中啟動此命令。 資料庫管理員使用者的 Linux 使用者帳戶必須擁有寫入該目錄的權限。

    將提示您回答各種問題和敘述。 問題與敘述的清單及其一般答案的說明如下:

  3. 備份 Data Repository。 輸入下列命令:
    /opt/vertica/bin/vbr.py --task backup --config-file configuration_directory_path_filename
    
    configuration_directory_path_filename

    指出您先前建立之配置檔案的目錄路徑和檔案名稱。 此檔案位於您執行備份公用程式的位置 (/opt/vertica/bin/vbr.py)。

    例如:

    /opt/vertica/bin/vbr.py --task backup --config-file /home/vertica/vert-db-production.ini
    

    如果出現提示,要求驗證主機,請回答 [是]。

    附註:在叢集安裝中,您只需要在參與叢集的其中一部主機上執行此步驟。

    Data Repository 便已備份。

  4. (選用) 對於未來手動備份,如果您不要以純文字來保留 Data Repository 密碼,請執行下列步驟:
    1. 確認下列行存在於 [Database] 區段下方:
      dbPromptForPassword = True
      
    2. 從 [Database] 區段中移除下列行:
      dbPassword = password
      

    附註:進行自動備份時,dbPassword 字行必須連同對應的密碼保留在配置檔案中。 將 dbPromptForPassword 設為 False。

  5. 執行下列動作,設定 Data Repository 的每日自動備份 (建議使用):
    1. 開啟您慣用的文字編輯器,以建立新的包裝函式 Shell 指令碼。
    2. 包裝函式 Shell 指令碼的內容應包含下列單一行:
      /opt/vertica/bin/vbr.py --task backup --config-file configuration_directory_path_filename
      
      configuration_directory_path_filename

      指出您先前建立之配置檔案的目錄路徑和檔案名稱。 此檔案位於您執行備份公用程式的位置 (/opt/vertica/bin/vbr.py)。

      例如:

         /opt/vertica/bin/vbr.py --task backup --config-file /home/vertica/vert-db-production.ini
      
    3. 將內容以名為 backup_script.sh 的新檔案形式,儲存至您想要的位置。

      例如:

      /home/vertica/backup_script.sh
      
    4. 輸入下列命令,變更指令碼執行權限:
      chmod 777 location_backup_script.sh/backup_script.sh
      

      例如:

      chmod 777 /home/vertica/backup_script.sh
      
    5. 使用資料庫管理員使用者的 Linux 使用者帳戶,輸入下列命令:
      crontab -e
      
    6. 新增一個 cron 工作,用以執行您先前建立的備份指令碼。

      附註:建議您建立 cron 工作,以在每日的離峰時間執行此指令碼。

      例如:

      00 02 * * *   /home/vertica/backup_script.sh >/tmp/backup.log  2>&1
      

      此範例 cron 工作會在每日的上午 2 時執行備份指令碼。

      重要! 第一次備份 Data Repository 時會執行完整備份。 此完整備份可能需要很長的時間才能完成,視存在的歷史資料量而定。 在執行初始備份後,後續的排程備份將會以增量的形式執行。 如果是每日備份,增量備份將僅考量過去 24 小時內發生的資料庫活動 (例如自上次備份後經過的時間量)。