원격 서버에서 최신 파일 복사

원격 서버에서 최신 파일 복사

.doc다른 유형의 파일 외에도 원격 서버(SCP 지원)에 파일 모음이 있습니다.

.doc원격 서버에서 최신(가장 최근에 수정된) 파일을 검색하는 스크립트를 작성하려고 합니다. 내 스크립트가 다른 서버에 배포될 수 있으므로 현재 작업 디렉터리의 경로는 절대 경로가 될 수 없습니다.

다음 두 단계를 통해 문제를 부분적으로 해결할 수 있습니다.

  1. .doc원격 서버의 모든 파일을 내 로컬 ~/Downloads폴더로 복사합니다.

    scp -i key.pem abc@xyz:/tmp/*.doc ~/Downloads/
    
  2. 최신 파일을 선택 ~/Downloads하고 원하는 폴더에 복사합니다.

    cd ~/Downloads
    latest_file=$(ls -t *.doc | head -n 1)
    cp -p "$latest_file" /current working directory
    

중간 폴더에 모든 파일을 다운로드하지 않고 명령문 하나로 .doc원격 서버의 xyz 폴더 아래 최신 파일을 로컬 컴퓨터에 복사하는 방법은 무엇입니까?/tmp

답변1

문제가 무엇인지 잘 모르겠지만 현재 디렉터리에 복사하려는 경우 .다음 명령을 사용하여 현재 디렉터리를 참조하십시오.

scp -i key.pem abc@xyz:/tmp/*.doc .

답변2

이것이 문제를 해결하는지 살펴보겠습니다. 스크립트를 만드세요.

FILE=`ssh abc@xyz ls -ht /tmp/*.doc | head -n 1`
rsync -avz -e ssh abc@xyz:"$FILE" .

그러면 원격 서버에서 "ls -ht /tmp/*.doc | head -n 1" 명령이 실행되고 최신 문서가 표시됩니다. 원격 서버의 지정된 파일을 현재 디렉터리로 동기화합니다. ssh/rsync는 또한 사용자 "abc"의 비밀번호를 묻습니다. 가급적 비밀번호 없는 로그인이나 키 파일 "key.pem"을 사용하는 것이 좋습니다.

관련 정보