我試圖將文件從遠程服務器B複製到遠程服務器A.我的Elixir應用程序位於服務器A上。我正在執行此操作:Elixir與「scp」 - 權限被拒絕並且連接丟失
a1 = System.cmd("scp", ["[serverB.....]", "/opt/folder1/"])
# => Permission denied
# {"", 1}
a2 = System.cmd("scp", ["serverB.....]", "/home/my_user"])
# => Connection to serverB closed by remote host.
# lost connection
# {"", 1}
在第一種情況下,我只收到權限被拒絕。
在第二種情況下,我確實收到了一個文件,這很好,但爲什麼它看起來像是失敗?
我的目標是讓第一工作,因爲我想文件被直接下載到「的/ opt /文件夾1 /」。最好。
我該怎麼做?可以通過scp嗎?還是應該先下載到我的主目錄?
爲什麼它在第二種情況失敗,出了什麼問題?
此外,也許我應該改爲使用rsync
來避免權限問題?
更新:
我已經給文件夾的權限 「的/ opt /文件夾1 /」
sudo chmod 775
但錯誤並沒有消失。
UPDATE2
我給的權限777它種作品 - 文件被下載。但返回結果仍然是這樣的:
Connection to bb.bb.bb.bb closed by remote host.
lost connection
{"", 1}
這是爲什麼? 1意味着「錯誤」不是嗎?更不要說「失去聯繫」。
如果您在shell提示符下對同一用戶使用相同的命令,會發生什麼情況?這看起來像是'my_user'沒有權限寫入'/ opt/folder1 /' –
@OnorioCatenacci,同樣的問題。否認。但如何治癒? – Jodooomi
你是盒子上的管理員嗎?如果是這樣,你需要弄清楚如何給予my_user權限。如果沒有,請管理員幫助你。無論哪種方式,這不是一個Elixir問題 - 它更多的是關於Linux中的scp和權限問題。 –