台灣最大程式設計社群網站
線上人數
1813
 
會員總數:246050
討論主題:189633
歡迎您免費加入會員
討論區列表 >> Linux / Unix >> 硬碟覆寫問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
硬碟覆寫問題
價值 : 500 QP  點閱數:1678 回應數:9
樓主

kg
中級專家
3878 25
3323 817
發送站內信

各位前輩大家好,小弟我有一問題想要請問一下各位前輩

就是假設今天小弟我一硬碟上有一分區為/mnt/dir,他的分區大小為10G
假設今天這分區容量已滿,有沒有什麼辦法再不更改此分區的大小及清空此分區外讓新的檔案寫入此分區?(也就是直接覆寫此分區內的舊檔案位置,也就是類似錄影那樣)

搜尋相關Tags的文章: [ 硬碟覆寫 ] ,
本篇文章發表於2012-12-24 10:19
== 簽名檔 ==
閒閒無所事事到處打醬油混水摸魚的老人.....
啊!那邊發現未開發農地!
碼農模式啟動!!!
1樓
作者回應

kg
檢舉此回應
另外就是不手動刪檔的狀況下
本篇文章回覆於2012-12-24 10:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

香帥
檢舉此回應
自動覆寫功能:
A.那就是在那目錄中,每次要寫入資料時,先看容量夠不夠.
1.夠就直接寫入,跳離此功能
2.不夠,就將檔案按日期排序,先刪一個最早日期的檔案
B.重覆A動作
本篇文章回覆於2012-12-24 13:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

kg
檢舉此回應
回香帥:
首先感謝你的回答
我一開始的想法和你一樣,就是寫入前先判斷容量還夠不夠
不夠刪除較舊的檔案,然後再判斷容量夠不夠,夠的話就寫入
但這樣變做要去寫一個code來作判斷,然後每當上傳或寫入檔案前都要先執行該code
我的問題就在於有沒有辦法不透過source code及不下command,也就是當我上傳或寫入檔案前讓系統自己去執行?或者有沒有辦法讓user在寫入或上傳檔案時讓系統自動去執行此code?
本篇文章回覆於2012-12-24 16:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
上傳了新檔案,就莫明奇妙的把舊檔給宰了 (抖
本篇文章回覆於2012-12-24 16:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

kg
檢舉此回應
回蔥大:
也不是上傳檔案就會砍掉舊檔
會砍掉舊檔是當硬碟快滿的時候才會去砍它
若上傳時空間夠的話就不砍舊檔
另外就是這硬碟只有放.wav檔
本篇文章回覆於2012-12-24 16:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

香帥
檢舉此回應
不知樓主有沒玩過交換遊戲
例如交換電影檔或圖檔
有的是3:1(檔案或長度)
亦即您上傳一個(美女)圖片或影片檔後,您可下載3倍的圖檔或影片,(您的.wav也是同樣道理)
當莊主的,就是有開ftpserver(那時候正流行warftpd)的,都會在irc聊天室宣布比例及它的server ip
一些同好者都會去交換,有機會樓主可去做莊主,試試看,蠻好玩的,您的圖檔影片本來20部,馬上可倍數增加,讓您看不完.
那控制都在ftpserver上
您要人上傳,還是會用到server,控制都是放在server上的軟體,包括交換,或者覆蓋舊檔,只要寫在server上都沒問題
寫得好的話,也可以拿出來賣喔,在系統的功能實作比較不合理,而是要寫個上傳的server軟體去附加在系統上,執行的是server軟體
如您説的
上傳檔案時讓系統自動去執行此code?
那可以,例如我2樓得實作code已寫在server上,此server並已在系統執行,上傳時當然會用覆寫功能.
當然若有系統將來要實作此功能也不無可能,只要一個介面讓您選要不要覆蓋就可以了
在還沒有系統實作此功能時,可在自寫上傳的server程式碼加上覆寫功能比較容意

本篇文章回覆於2012-12-24 19:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

kg
檢舉此回應
回香帥:
我有件事上面忘記說,就是user他在上傳時是透過shell script執行mount nfs的方式將上傳(遠端主機是台NAS server)
也就是它並沒透過任何gui或api介面,而是最純粹的用終端機把它mount過來
原先我是要用api來作,因為若寫api上傳可透過該介面在上傳的時候順便執行該code,但client不想透過api或gui達成所以才頭痛

現在想到的解決方法就是改寫client端的shell script(client端為centos)
然後當client執行此shell script時在把nfs mount過來時再透過寫在client端的c++(判斷要遠端nas磁區的最大容量),來判斷nfs server容量是否還夠寫入,不夠就刪除一定量的舊檔案後再上傳
本篇文章回覆於2012-12-24 20:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

香帥
檢舉此回應
nfs網路磁碟機,那建議您參考rfc1813
http://www.ietf.org/rfc/rfc1813.txt?number=1813
然後去實作它加上自己的檢查quota功能及刪除最久遠的檔案,取代原有的nfs
本篇文章回覆於2012-12-24 23:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

kg
檢舉此回應
這問題我最後還是用我上面所說改寫client端的shell script解決了
但總覺得這樣作法有點不太好,算了!
這邊要多謝香帥跟蔥大的回答,謝謝!
本篇文章回覆於2012-12-28 15:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.