1
파이썬을 사용하여 한 원격 서버에서 다른 원격 서버로 파일을 복사하는 가장 좋은 방법을 알고 싶습니다.Python : 두 원격 서버간에 파일 복사
내 설정은 다음과 같은 :
+--------------+
| Server A |
+--------------+
| Build Server |
+--------------+
|
|
+-------------+
| Server B |
+-------------+
| Python Code |
+-------------+
|
|
+------------+
| Server C |
+------------+
| App Server |
+------------+
나는이 몇 RPM의 빌드 서버에 저장됩니다. 이 바이너리를 App 서버에 전송해야이 상자에 설치할 수 있습니다.
현재 파이썬의 Paramiko 라이브러리 [sftp.get 및 sftp.put]을 사용하고 서버 A에서 서버 B로 바이너리를 가져 와서 서버 B에서 서버 C로 전송합니다. 어쨌든 코드를 구조화 할 수 있습니까? 바이너리를 서버 A에서 서버 C로 직접 전송할 수 있습니까?
더 정확히 말하면, 같은 것을 할 : 는scp -3 [email protected]:/home/user1/file1.txt [email protected]:/home/user2/file1.txt
이런 종류의 중간 홉을 방지 할 수 있습니다.
제안/개선 사항에 감사드립니다.
'scp'와 달리, rsync는 2 개의 원격 호스트간에 복사 할 수 없습니다. 'rsync' 명령을 실행하려면 원격 호스트 중 하나에'ssh '해야합니다. scop이나 rsync를 호출하기 위해'subprocess'를 사용하는 것이 파이썬 구현을 찾으려는 것보다 낫지 만 나는 동의한다. –
이렇게하면 되겠습니까? ssh user1 @ remote1 'rsync -avz/path/to/source user2 @ remote2 :/path/to/dest'' –