開源OA協同辦公平台搭建教程丨服務器端命令:數據導入導出及配置


O2OA應用開發平台是一款開源辦公產品,是使用JavaEE技術棧,分布式架構設計的真正全代碼開源的企業應用定制化開發平台,平台既可以支持小企業的OA協同辦公系統快速搭建,也能支持復雜的集團化大型協同門戶及業務平台建設,以最低成本,搭建一個OA辦公系統。

今天跟大家說的是《服務器端命令:數據導入導出及配置》教程

 

  • 數據導入導出命令

在服務器控制台可以執行一組ctl命令

其中:

ctl -dd (dump data)可以將服務器上的數據導出成json格式文件.

ctl -rd (restore data)可以將json文件導入到數據庫中.

導出命令: ctl -dd <path>

將數據以json格式導出到指定目錄,如果為設置則導出至服務器目錄下如: local/dump/20200101010101 日期格式目錄,導出過程中將對存儲在storage中的二進制文件進行讀取導出.

執行完成后會提示數據導出到的實際目錄.

 

導入命令: ctl -rd <path or date>

將數據重新導入到服務器中,如果設置路徑將從路徑目錄開始搜索文件,如果設置的是形如20200101010101格式的日期那么從local/dump目錄下搜索20200101010101目錄進行導入.

執行完成后會提示數據導入的結果.

 

導出文件目錄形如:

其中catalog.json指示了文件的目錄摘要.

  • 導入導出配置

可以通過config/dumpRestoreData.json配置來指示導入導出執行過程.默認情況在在config目錄下無此配置文件,在sampleConfig目錄中有此文件格式樣例.此配置文件對導入和導出同時生效.導入導出程序在執行過程中會掃描所有實體類,通過讀取注解進行識別:

實際是通過讀取dumpSize,type,reference值來進行判斷的.

可以通過導入導出實現小規模數據的遷移的備份.

dumpRestoreData.json文件內容如下: 

{
  "enable": false,
  "includes": [],
  "excludes": [],
  "mode": "lite",
  "parallel": true,
  "redistribute": true,
  "exceptionInvalidStorage": true,
  "itemCategory": "",
  "###enable": "是否啟用.###",
  "###includes": "導出導入包含對象,可以使用通配符*.###",
  "###excludes": "導出導入排除對象,可以使用通配符*.###",
  "###mode": "導出數據模式,lite|full,默認使用lite###",
  "###parallel": "使用並行導出,默認true###",
  "###redistribute": "是否進行重新分布.###",
  "###exceptionInvalidStorage": "無法獲取storage是否升起錯誤.###",
  "###restoreOverride": "數據導入方式,clean:清空重新導入,skipExisted:如果有相同id的數據跳過.默認方式為clean.###",
  "###itemCategory": "對於com.x.query.core.entity.Item的itemCategory進行單獨過濾,可選值pp, cms, bbs, pp_dict.###"
}

mode:默認情況下為lite,導入導出忽略日志,分詞等數據,不影響導出數據的完整性.full導出全部數據.

includes/excludes:可以通過設置includes/excludes來配置導出指定的數據,這里需要寫入數據實體類名,如com.x.processplatform.core.entity.content.Task 指示待辦數據.可以使用通配符進行匹配 com.x.organization.core.entity.* 指示所有組織數據.

parallel:為加快執行速度,進行多線程並行執行.

exceptionInvalidStorage:由於在導出過程中對於附件等實際內容存儲在storage中的文件也會進行讀取導出,在storage服務器讀取錯誤的情況下是否繼續執行,還是拋出錯誤.

  • 通過導出實現自動備份

在node_.xxx.json節點配置文件中設置了一組定時執行dumpData任務.

  "dumpData": {
    "enable": false,
    "cron": "",
    "size": 7.0,
    "path": "",
    "###enable": "是否啟用,默認禁用.###",
    "###cron": "定時任務cron表達式,默認每天凌晨2點進行備份.###",
    "###size": "最大保留份數,超過將自動刪除最久的數據.###",
    "###path": "備份路徑###"
  }

可以啟用改設置來實現服務器自動導出.

cron:通過設置cron表達式來設置自動導出數據的執行時間.

size:備份數量,服務器在執行自動導出時將在local/dump目錄下搜索所有的備份,刪除掉多余的備份以節省空間.此設置在設置為目錄導出時無效.

  • 通過導入實現自動恢復

在node_.xxx.json節點配置文件中設置了一組定時執行restoreData任務.

某些情況下我們需要定時對服務器數據進行回復,如演示服務器,或者是內外網隔離情況下自動將數據推送到外網服務器並進行導入以實現在物理隔離情況下的數據同步.

  "restoreData": {
    "enable": false,
    "cron": "",
    "path": "",
    "###enable": "是否啟用.###",
    "###cron": "定時任務cron表達式###",
    "###path": "恢復路徑###"
  }

可以啟用改設置來實現服務器自動導入.

cron:通過設置cron表達式來設置自動導入數據的執行時間.

path:自動導入數據僅能通過設置指定的目錄實現。

 

2021.10.24~2021.11.11,報名即可獲得免費的技術培訓,滿滿干貨等你來學習,更多詳情可以移步官網:政務oa管理系統-企業oa辦公軟件-office在線協作-移動oa開源開發-O2OA國產化信創oa辦公系統平台


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM