我正在嘗試編寫一個android應用程序,用於將使用rsync和ssh的選定目錄中的Android設備數據備份到遠程主機。當我運行從亞行外殼rsync命令,如下所示,它的工作原理:Rsync和ssh在android上:沒有這樣的文件或目錄
rsync -rvz -e "/system/xbin/ssh -y -p 22" "/mnt/sdcard/" "[email protected]:backup/"
但使用的Runtime.exec我的Java代碼失敗,一個錯誤,指出:
Error: rsync: failed to exec /system/xbin/ssh -y -p 22: No such file or directory (2)
我使用的代碼是如下:
String[] commands = {
"rsync", "-rvz", "-e", "\"/system/xbin/ssh -y -p 22\"",
"\"/mnt/sdcard/\"", "\"[email protected]:backup/\""
};
Process process = Runtime.getRuntime().exec(commands);
兩個rsync的和SSH,現已存放在/系統/ XBIN和chmoded爲755試圖與 「/系統/ XBIN/rsync的」 取代 「rsync的」,也但問題依然存在。這裏會有什麼問題?
不,首次嘗試使用絕對路徑。同樣的錯誤。沒有與同一設備同步。它位於本地機器和仿真器之間,在與另一臺真實的遠程服務器連接之前進行測試。 – Rajeesh
你得到的錯誤是realy,看起來好像你的/ system/xbin /目錄中沒有ssh文件,但是你寫的是在那個地方,並且你沒有得到任何權限錯誤。所以我沒有其他變體。 如果您運行 'Runtime.getRuntime()。exec(「rsync -rvz -e'/ system/xbin/ssh -y -p 22'/ mnt/sdcard/[email protected]:/ backup /」)會怎麼樣? ' – cooperok