كيفية إدخال دليل بعيد على روبي NET: SFTP؟
سؤال
وكيفية إدخال الدليل مثل الأمر - مؤتمر نزع السلاح، وبالتالي تعمل الملفات عن بعد دون بادئة مسار؟
وهنا هو قانون بلدي الحالي.
Net::SFTP.start do |sftp|
sftp.rename!(REMOTE_PATH + "latest.zip", REMOTE_PATH + "latest.back.zip")
sftp.upload!("latest.zip", REMOTE_PATH + "latest.zip")
end
وأود أن يكون لديك:
sftp.cd REMOTE_PATH
sftp.rename!("latest.zip", "latest.back.zip")
sftp.upload!("latest.zip", "latest.zip")
المحلول
<ديل> لقد وجدت الحل، وهو استخدام SSH الاتصال بدلا من ذلك. دل>. لا يعمل. مسار SFTP يبدو غير ذي صلة إلى مسار SSH. اسمحوا لي أن أعرف إذا كان لديك خيارات أخرى.
Net::SSH.start("localhost", "user", "password") do |ssh|
ssh.sftp.upload!("/local/file.tgz", "/remote/file.tgz")
ssh.exec! "cd /some/path && tar xf /remote/file.tgz && rm /remote/file.tgz"
end
لا تنتمي إلى StackOverflow