한 Linux 서버에서 다른 서버로 파일을 전송하는 방법

작가: Carl Weaver
창조 날짜: 23 2 월 2021
업데이트 날짜: 1 칠월 2024
Anonim
우분투에서 파일 공유하기
동영상: 우분투에서 파일 공유하기

콘텐츠

Linux 다중 서버 환경에서 많은 작업에는 한 서버에서 다른 서버로 하나 이상의 파일을 이동하는 작업이 포함됩니다. 이동해야 하는 파일의 수에 따라 도움이 될 수 있는 몇 가지 명령이 있습니다. 이러한 논의를 위해 우리 서버는 alice와 madhat이고 alice의 사용자는 rabbit이고 madhat의 사용자는 fieldmouse라고 가정해 보겠습니다.

단계

  1. 1 간단한 파일의 경우 "scp" 명령을 시도하십시오. 이것을 "푸시" 또는 "풀" 명령으로 사용할 수 있지만 파일을 다른 서버로 푸시하는 것으로 시작하겠습니다. 앨리스에 있는 동안 "scp myfile fieldmouse @ madhat: thatfile" 명령을 사용하십시오. 이렇게 하면 사용자 ID "thatfile" 아래의 다른 시스템에 파일이 복사됩니다. 다른 시스템에 로그인한 경우 "scp rabbit @ alice: myfile thatfile" 명령을 사용하여 파일을 쉽게 가져올 수 있으며 동일한 결과를 얻을 수 있습니다.
  2. 2 전체 디렉토리를 복사하려면 "scp" 명령을 다시 사용할 수 있습니다. 이번에는 -r 스위치를 추가하여 복사가 "재귀적으로" 작동하도록 합니다. "scp -r mydir fieldmouse @ madhat :." - 모든 내용과 추가 디렉토리를 포함하여 전체 "mydir" 디렉토리를 다른 시스템에 복사합니다. madhat의 디렉토리는 여전히 mydir이라고 합니다.
  3. 3 복사할 파일과 디렉토리가 엉망이라면? "tar" 명령을 사용하여 하나의 파일을 만든 다음 위와 같이 해당 파일을 복사한 다음 tar를 사용하여 다른 서버에 배포할 수 있습니다. 하지만 ... 유닉스 계열이 아닌 것처럼 보입니다. 한 번에 할 수 있는 방법이 있어야겠죠? 물론이죠!

    E 좋아하는 쉘의 파이프를 입력하십시오. 우리는 여전히 tar를 사용하여 원하는 파일을 패키징한 다음 SSH를 사용하여 다른 시스템(SCP가 쉘에서 사용하는 것)에서 파일을 가져오고, 다른 한편으로 tar를 사용하여 파일을 다시 배포할 수 있습니다. 그러나 단순히 두 시스템에 걸쳐 있고 tar 데이터를 전달하는 파이프를 만들 수 있는데 tar 파일 자체를 만드는 데 시간과 공간을 낭비하는 이유는 무엇입니까?

    이전 예제와 동일한 디렉토리를 사용하여 "tar -cf - mydir / * | ssh fieldmouse @ madhat" tar -xf - "

  • 물론 이 작업을 수행하는 다른 방법도 있습니다. Linux는 도구로 가득 차 있습니다.귀하의 평가는 변경될 수 있습니다.
  • 위의 명령어를 사용하는 동안 네트워크 구성 및 환경에 따라 사용자 이름 / 호스트 이름 / 파일 디렉토리 이름을 변경해야 합니다. 위의 명령은 파일을 서버에 복사하는 명령을 실행하는 방법의 예일 뿐입니다.

경고

  • 사용하는 다른 시스템의 ID와 GID가 동일한지 확인하십시오(단순한 사용자 이름이 아님). 그렇지 않은 경우 흥미로운 보안 문제가 발생합니다.