前幾天在做php期末專案中,這個期末專案做了乙個月,最後再新增乙個清除快取的功能就可以完成了,可是悲劇就是在最後傳送,寫了一段清理快取的**,因為還是學生在學習階段,**不完善,而且沒有經過測試(教訓一),直接放在專案裡執行,導致寫的30幾個php檔案全部被自己刪了,而且沒有備份(教訓二)。
最恨的是,誤刪檔案之後我還往這個資料夾裡寫入了一些東西並且還把extundelete裝到了這個資料夾下(教訓三),導致檔案只恢復少量一部分,大部分因為被新寫入的資料徹底覆蓋。
教訓一:測試。在寫功能的過程中,有些有危險性的功能必須經過測試再投放到專案中。
教訓二:備份。為期乙個月課餘時間寫的**,在後面半個月完善功能**的過程中,竟然沒有做過哪怕一次備份。
教訓三:誤刪後不能再往該硬碟寫入任何資料,在資料被誤刪除後,第一時間要做的就是解除安裝被刪除資料所在的分割槽,如果是根分割槽的資料遭到誤刪,就需要將系統進入單使用者模式,並且將根分割槽以唯讀模式掛載。
因為將檔案刪除後,僅僅是將檔案的inode節點中的扇區指標清零,實際檔案還儲存在磁碟上,如果磁碟繼續以讀寫模式掛載,這些已刪除的檔案的資料塊就可能被作業系統重新分配出去,在這些資料庫被新的資料覆蓋後,這些資料就真的丟失了,誰都也無力回天了。
結果是通過extundelete只恢復了少量一部分檔案,難得的一次經歷。
記一次誤刪 git stash 檔案恢復操作
在使用 git 的時候我們都可能會遇到 誤刪的情況的,筆者就遇到了誤刪 stash 中的 在這裡記錄一下如何找回誤操作的 git stash 的 在進行多分支管理 時,我們經常需要在沒完成功能的開發時就需要緊急切換到master 分支進行 hotfix。而我們後不想將未完成的 進行提交,因此就需要進...
fopen開啟檔案失敗,乙個小錯誤,乙個教訓!
fopen path,mode fopen函式第乙個引數為檔案路徑,若要開啟的檔案就在當前目錄下,可直接寫檔名,當我們把乙個變數寫在第乙個引數的位置上時,可能出現找不到檔案的錯誤。原因 第一種是如果我們在socket程式設計裡,客戶端向伺服器傳送乙個字串變數 或伺服器向客戶端傳送乙個字串變數 伺服器...
一 Linux檔案操作
在 linux 的世界裡,一切裝置皆檔案。我們可以使用系統呼叫中 i o 的函式 i input,輸入 o output,輸出 對檔案進行相應的操作 open close write read 等 開啟現存盤案或新建檔案時,系統 核心 會返回乙個檔案描述符,檔案描述符用來指定已開啟的檔案。這個檔案描...