![](/img/trans.png)
[英]error of finding the total line number of a large text file using the Windows command prompt
[英]rsync error: Bad file number
我正在嘗試將內容從本地計算機(64 位 Windows 7)同步到遠程服務器(64 位 Ubuntu 8),但它失敗了。 任何建議都非常受歡迎,因為我已經花了太多時間在這個廢話上......提前謝謝!
$ ls -al
total 3
drwxr-xr-x 4 www www 4096 Jun 7 11:04 .
drwxr-xr-x 5 www www 4096 Jun 7 13:13 ..
drwxr-xr-x 7 www www 0 Jun 7 11:04 release-20110607110404
$ rsync -avz ./release-20110607110404/ www@web1:/home/www/
opening connection using: ssh -l www web1 rsync --server -vvlogDtprze.iLsf . /home/www/
select: Bad file number
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(610) [sender=3.0.8]
$ rsync --version
rsync version 3.0.8 protocol version 30
Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, no xattrs, iconv, symtimes
嘿,我想通了,至少找到了問題的根源......它在來自 msysgit(code.google.com/p/msysgit)的 git bash(code.google.com/p/msysgit)中不起作用,但它在常規 Z0F4137Z683AA22B50445D 命令中工作! 詭異的!!!
好吧,看看這個。 GitBash 帶有一堆 *nix 實用程序(包括ssh
)但 cwRsync 也帶有ssh
。 現在,在我的系統上, ssh
附帶的 ssh 版本已經過時了,而 cwRsync 附帶的版本則非常新。 如果我從 GitBash 內部運行which ssh
ssh ,顯然 GitBash 版本會出現。 那么,猜猜rsync
將使用哪個版本? 我猜是錯誤的。
你可以解決這個問題。
您正在嘗試運行此命令:
rsync -avz ./release-20110607110404/ www@web1:/home/www/
但是由於您想使用不同的ssh
,因此您需要這樣的東西:
rsync -avz -e '<path to cwRsync ssh> www@web1' ./release-20110607110404/ :/home/www/
現在,如果您像我一樣,您將遇到另一個問題,即ssh
會抱怨您的 ssh 配置文件的權限錯誤。 那是因為它出於某種原因在/cygdrive/<the correct path to your config file>
中查找。 但這也是可以修復的:
rsync -avz -e '<path to cwRsync ssh> -F <path to ssh config> www@web1' ./release-20110607110404/ :/home/www/
現在,請記住,您必須使用到ssh
和 ssh 配置文件的路徑需要采用愚蠢的 windows 格式,但我相信如果我不會使用這種格式,我會抱怨我不會使用 mylash 格式為你工作,你可以留在 GitBash 而不是使用 cmd。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.