我需要備份進程正在寫入磁盤的一些大文件。該進程永久運行,偶爾會轉儲需要通過網絡移動的大文件。擁有這個過程本身並不是一種選擇,因爲這個過程會在用戶進行文件轉儲時鎖定用戶。在Windows下安全文件備份的腳本
所以,這個運行在Windows機器下,並作爲主要的Linux用戶,我不能完全肯定如何做到這一點?
linux下我就簡單的文件夾中使用cron作業(我知道將匹配輸出文件的glob),然後檢查lsof,確保文件未被寫入,這樣我就不會嘗試複製部分完整的文件。數據完整性至關重要,所以我通常會在複製之前和之後讀取文件。
所以我想我的問題是 - 在Windows下如何做這種東西?我覺得自己從一開始就受到了限制 - 我可以使用python,但我無法模擬lsof,也無法執行任務計劃。
我試着看着「處理」 - 但它需要在執行時管理privelidges,這也不是一個選項。我無法以管理員身份運行備份過程,因此必須以用戶專用權運行。
謝謝..
編輯:我才意識到我可以保持蟒蛇實例上運行,與睡眠,所以任務調度是沒有問題的:)
唯一的建議是句柄。其他人是互動的,因此沒有幫助。歡呼的任務調度提示 – SomeoneLikeMe 2010-09-23 18:35:24
或者你可以去更「哈克」的方式:檢查文件大小在過去60秒左右沒有改變....不是很好,但應該做的工作,如果你不有任何其他解決方案。 或要求進程啓動其他程序來傳輸文件。 – 2010-09-23 19:27:06
是的,我已經結束了md5的文件...等待60秒,然後再次做和比較散列 – SomeoneLikeMe 2010-09-23 19:40:35