禪道備份處理

YatHo發表於2018-05-02

需求分析

從刪庫到跑路,大家聽過很多,但如果沒刪備份的話,那隻能說玩的不夠徹底,不專業。禪道系統管理員一個非常重要的職責就是定期備份禪道,以便在系統出現故障的時候能夠及時恢復。我們來看下如何備份禪道系統。

禪道的備份分為四個個部分:配置檔案、修改過的程式碼、資料庫和附件,下面我們分別來看不同環境下面的備份方法。。

整體備份策略包括備份物件、確定備份頻率和備份方式、制定備份集儲存策略和恢復管理五個部分

一、手工備份

  • 配置檔案、程式碼和附件的備份

    • 配置檔案存放在zentao/config/my.php
      附件存放在zentao/www/data/目錄下面。
      修改的程式碼也都放在zentao目錄下面。
      因此備份配置檔案、程式碼和附件的方法就是將整個zentao目錄備份即可。
  • 資料庫的備份

    • 直接備份資料庫原始檔案。
      • 找到mysql的data目錄,windows一般是在mysql安裝目錄下面。linux則一般是在/var/mysql或者/var/db類似的目錄下面。在data目錄下面,會有一個zentao的目錄,這個zentao目錄就是原始的資料庫檔案,直接複製這個也是可以的。linux下面可能需要注意許可權的問題。
    • 通過匯出備份檔案。
      • 可以使用mysql提供的管理工具,將資料庫匯出: mysqldump -u xxx -p zentao > zentao.sql,其中的user換成實際的使用者。

登入禪道後臺進行備份

可以在後臺—計劃任務裡,開啟計劃任務自動備份資料和附件。
計劃任務列表裡,你可以編輯備份任務的時間和頻率。

使用備份指令碼進行備份

cd /opt/zbox/app/zentao/bin
./backup.sh

Warning: Creating default object from empty value in /opt/zbox/app/zentao/config/config.php on line 19

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PclZip has a deprecated constructor in /opt/zbox/app/zentao/lib/pclzip/pclzip.class.php on line 190
Backuping database, successfully saved to /opt/zbox/app/zentao/backup/201804/db.20180426.zip
Backuping files, successfully saved to /opt/zbox/app/zentao/backup/201804/file.20180426.zip

如何進行恢復

手動備份檔案進行恢復

201504241639265.file.zip.php 這個檔案先改名稱把最後的.php刪掉,然後解壓把得到的檔案放到禪道的www/data/upload/1/下面;

201504241639265.sql.php 這個檔案先改名稱把最後的.php刪掉,是一個sql檔案,可以直接匯入到mysql中的一個空庫中的,然後修改zentao/config/my.php中連線禪道的資料庫資訊連線到這個新的庫即可。

錯誤解決

檢視日誌

zentao/config/my.php 中debug的值改成true ,後臺-備份 點選備份按鈕, 看日誌檔案(/opt/zbox/app/zentao//tmp/log/php開頭的今天的檔案)有什麼報錯。

調整記憶體限制

修改 /opt/zbox/etc/php/php.ini 中的memory_limit 值改成 512M(如果提示小的話,按照伺服器情況繼續加大)
重啟服務

確定備份策略

目錄掛載

mount -t cifs -o username="zentao",password="wyygdjbdjb" //192.168.1.12/zentao /opt/zbox/app/zentao/backup/

備份策略

序號部門伺服器名稱備份物件IP/Hosts備份頻率備份方式備份集管理備份指令碼恢復措施
1 質量管理 禪道 禪道備份檔案 192.168.1. 3日/次 全備 指令碼 \\192.168.1.12\zentao 恢復/刪除 /opt/zbox/app/zentao/bin 見上方手動恢復

相關文章