2013-06-03 52 views
1
#Bypassing the ssh 
spawn -noecho /usr/bin/ssh -o 'StrictHostKeyChecking=no' "$user\@$ip"; 

if { $argc == $total_arguments} { 
set REMOTEDIR "$remote_dir"; 

spawn -noecho rsync -r $user\@$ip:$destination/* $remote_dir 
expect "Password:" 
} 

上面是代碼的一部分,我將文件從遠程機器複製到我的主目錄。但在執行腳本時,它有時無法複製所有文件。 什麼可能是失敗的原因,以及如何驗證它是否複製所有文件?有時Rsync無法從遠程機器複製文件

回答

1

進行驗證:

如果你想檢查是否所有文件已被複制,您可以在遠程目錄文件列表做一個簡單的水珠或列表。然後與目標目錄中的全局列表文件進行比較。

set globResult [ exec rsh -l $user $host "cd $dir; ls -l | wc -l" ] 

或者如果您走得更遠,您可以始終對遠程和目標目錄進行校驗和。

至於失敗的原因,它可能是網絡或服務器問題。 當你在做rsync時,你是否檢查退出退出狀態以確保rsync已成功完成?

相關問題