一次Windows資料丟失後的亡羊補牢

2021-09-20 15:56:51 字數 1892 閱讀 9660

事件描述:

2016.11.14一早,禪道(bug管理系統)啟動不了了。經過一天各種折騰都不能正常啟動服務,找到資料庫目錄和備份目錄,都是空的。這是伺服器在祝我31歲生日快樂嗎,不帶這麼玩的。

下圖為正常狀態

下圖為啟動失敗狀態

自身存在的問題:

由於一直沒把禪道放在心上,伺服器的備份策略從來沒有檢查過。更沒做過「災難恢復」的測試。以至於出了問題後才想著去了解這個系統,看官方文件,找資料庫目錄等。

到現在為止也不知道系統是為什麼掛的,掛的同時,資料庫檔案一點影也沒了。只能讓測試重新錄bug了,非常對不起。

事件總結:

在工作中要做到所有的資料都有備份策略,而且最好有異地或非本伺服器備份。還要用備份的資料做下還原測試,測試是否能正確的使用。有了這次教訓,再重新安裝禪道後,開啟了自帶的備份策略,為了防止單點故障,把備份的資料庫資料夾,每天晚上再備份到「檔案伺服器」乙份,禪道本地和檔案伺服器的資料庫保留策略設定為3天。

重新安裝,開啟禪道的備份策略

禪道已經定義好了備份策略,每晚12:30都會備份資料到指定資料夾

預設保留為14天,此處改為3天(後來才發現備份保留天數可以改

說明:禪道產品做得相當成熟,可以自定義資料庫備份保留的天數,真是非常方便。要做的就是把禪道備份出來的資料在異地備份乙份。

異地備份資料

在禪道備份的基礎上,我們只需要把backup資料夾備份到區域網中的另一台伺服器即可,下面是用windows的copy和robocopy實現備份到異地,foriles可以實現刪除3天前的檔案,在這裡不需要使用這條。把命令複製到*.bat,然後新增到計畫任務裡,每天晚上2點執行。

簡單的使用這條就可以實現,不用管下面二條

copy c:\pmtool\xampp\zentao\tmp\backup \\技術部共享\禪道back

詳細點的

robocopy c:\pmtool\xampp\zentao\tmp\backup z:\技術部共享\禪道back *.* /maxage:3 /xf *.jpg

說明:maxage:3指定了天數,之前沒注意禪道可以直接設定要備份的天數 /xf表示除了jpg的檔案(很多餘)

額外學習用

forfiles /p d:\技術部共享\禪道back /s /m *.php /d -3 /c "cmd /c del @path"

說明:這個也是多餘的,禪道設定只儲存3天的資料,不會多產生檔案。

這個命令可用於普通伺服器查詢3天前的檔案並刪除用

Redis一次資料丟失

一台redis伺服器,4核,16g記憶體且沒有任何硬體上的問題。持續高壓執行了大約3個月,儲存了大約14g的資料,設定了比較完備的s e引數。而就是這台主機,在一次重起之後,丟失了大量的資料,14g的資料最終只恢復了幾百兆而已。正常情況下,像redis這樣定期回寫磁碟的記憶體資料庫,丟失幾個資料也是...

一次使用pip後的總結

一 當安裝了多個版本python的時候,表示用pythonx 的pip 進行 1.pythonx m pip install 包名 裝 包 2.pythonx m pip install upgrade pip 公升級pip版本 3.pythonx m pip uninstall 包名 卸 載 包 ...

記一次尷尬的git reset丟失分支故障

最近.似乎一直在踩坑.也不是什麼故障,只是把乙個分支的功能弄沒了,之後在reflog裡找到又恢復了.產生原因是有同事錯誤地把分支b merge到了分支a並push.我直接在分支a上reset到了merge前的乙個節點 但這個節點其實是b分支的 這導致分支a的頭跑到了b分支上,a本來那個分支沒有引用就...