超大文件的copy
一 几G或几十G的文件的copy
例如需要拷贝exe,iso到远程的机器上,我们可以使用如下的方法:
多线程copy:
1) split + copy + cat [split and cat are Linux command, you can get them from UnxUtils]
2) zip(into many parts) + copy + unzip [or can use 7z instead of zip]
增量copy:
3) rsync [incrementally transfer]
二 几百G上至上T的文件的copy
例如数据库文件等得备份,需要对copy工具具备Unbuffered Input/Output (I/O)功能(即不将文件缓存在内存中),否则机器的内存会被耗完然后导致copy失败:
1)eseutil.exe 可以从Exchange server的安装目录中获得,需要拷贝以下的3个文件:
ese.dll
eseutil.exe
exchmem.dll
eseutil.exe的使用如下:
eseutil.exe /y <srcfile> /d <destfile>
eseutil.exe
exchmem.dll
eseutil.exe的使用如下:
eseutil.exe /y <srcfile> /d <destfile>
2)对于win7或windows2008可以对xcopy使用/J来关闭buffered功能,如下:
/J Copies using unbuffered I/O. Recommended for very large files.
三 注意
在copy后使用MD5对文件验证,确保文件被正确的copy。
四 参考
How to: Copy very large files across a slow or unreliable network
http://blogs.msdn.com/b/granth/archive/2010/05/10/how-to-copy-very-large-files-across-a-slow-or-unreliable-network.aspx
完!