我在兩臺Linux機器上安裝了一個cifs文件。我有一個可以修改共享文件的Perl腳本。在這種情況下,我們如何在網絡上鎖定文件?如何鎖定Perl網絡中的共享文件?
1
A
回答
0
我無法在CPAN上找到實現此目的的模塊。看起來包裝libsmbclient的模塊沒有實現協議的OPLOCKing部分。
在smbfs來源中,功能smbfs_smb_lock
似乎可以滿足您的需求。 要麼寫你自己的XS包裝模塊,要麼使用Inline :: C。
2
看起來我們可以用fcntl()來鎖定文件。我剛剛找到了它的工作:) 如果你想做到這一點通過NFS,嘗試File::NFSLock此鏈接可能是有用的
http://www.cpan.org/scripts/file-handling/flock.using.fcntl.example
感謝您的答覆
_Anandan
+1
在網絡上,你必須做更多的工作。它也可能取決於您的網絡文件系統支持的內容。 – 2009-07-17 17:43:35
1
。
1
如果你的文件服務器是桑巴,那麼也要看smb.conf手冊頁:
...
阻塞鎖(S)
This parameter controls the behavior of smbd(8) when given a request by a client
to obtain a byte range lock on a region of an open file, and the request has a
time limit associated with it.
If this parameter is set and the lock range requested cannot be immediately
satisfied, samba will internally queue the lock request, and periodically attempt
to obtain the lock until the timeout period expires.
If this parameter is set to no, then samba will behave as previous versions of
Samba would and will fail the lock request immediately if the lock range cannot
be obtained.
Default: blocking locks = yes
...
鎖定(S)
This controls whether or not locking will be performed by the server in response
to lock requests from the client.
If locking = no, all lock and unlock requests will appear to succeed and all lock
queries will report that the file in question is available for locking.
If locking = yes, real locking will be performed by the server.
This option may be useful for read-only filesystems which may not need locking
(such as CDROM drives), although setting this parameter of no is not really
recommended even in this case.
Be careful about disabling locking either globally or in a specific service, as
lack of locking may result in data corruption. You should never need to set this
parameter.
相關問題
- 1. 如何用perl更改網絡共享文件夾中文件的屬性?
- 2. 共享文件鎖
- 3. 與.bat共享文件夾在網絡上的問題(網絡共享)
- 4. 文件更改事件網絡共享
- 5. 如何在Windows中從Perl訪問網絡共享?
- 6. 通過網絡共享文件
- 7. 在網絡共享上移動文件
- 8. 寫入文件卡住網絡共享
- 9. 將文件寫入網絡共享
- 10. PHP - 訪問文件夾共享網絡
- 11. 監視網絡共享文件夾
- 12. 在網絡上重新共享文件
- 13. 訪問共享網絡文件夾
- 14. 如何從網絡共享文件中獲取關聯圖標
- 15. 如何使用LDAP在本地網絡中共享文件夾
- 16. 模擬網絡共享以共享文件
- 17. 使用TFilestream寫入網絡共享的Delphi在網絡丟失時鎖定文件
- 18. 在.NET中,你如何知道當前正在網絡共享上鎖定文件的用戶名?
- 19. 如何訪問需要驗證的共享網絡文件夾?
- 20. 如何打開共享文件夾的本地網絡上Win10
- 21. 網絡上的Java文件鎖定
- 22. 網絡文件鎖定的可靠性
- 23. 如何將ADF文件保存到網絡共享?
- 24. 如何從批處理文件寫入Windows網絡共享?
- 25. 如何在共享網絡驅動器上存儲文件c#
- 26. 如何使用JavaScript訪問共享/網絡文件夾?
- 27. IOS - 如何將文件寫入網絡共享?
- 28. 如何檢查文件是否在Windows網絡共享上?
- 29. Zend_Search_Lucene,如何通過網絡共享索引存儲文件夾
- 30. 如何利用網絡在Android平臺上共享p2p文件?
這是什麼樣的網絡? – 2009-07-17 17:42:20