SCP는 수정 된 파일 만 전송


30

서버 간 파일 전송을 위해 아래 명령을 사용하고 있습니다.

scp -rc blowfish /source/directory/* username@domain.net:/destination/directory

update대한 명령 과 같이 수정 된 파일 만 전송하는 방법이 cp있습니까?

답변:


52

rsync 당신의 친구입니다.

rsync -ru /source/directory/* username@domain.net:/destination/directory

소스에 더 이상 존재하지 않는 대상에서 파일을 삭제하려면 --delete옵션을 추가하십시오 .


4
웹 서버와 동기화하고 해당 서버가 HTML을 캐시 --delete하는 경우 오래된 페이지의 방문자가 더 이상 존재하지 않는 자산을 요청할 수 있으므로을 사용 하지 않을 수 있습니다.
Jackson

@Jackson 정리 프로세스는 소스에 캐시 또는 구성과 같은 가변 데이터를 포함하지 않습니다.
Chris Pillen

어떤 경우에는 도메인 외부에 rsync있지만 가지고 있지 않은 도메인 외부의 서버를 처리합니다 scp. 몇 줄의 스크립팅이 필요하더라도 비슷한 솔루션이 있습니까?
iX3

답은 도움이되지만 scp 자체로도 달성 할 수 있다는 것이 문제였습니다.
Mladen B.

1

일반적으로 이유가 있기 때문에 scp를 요청합니다. 즉, 대상에 rsyncd를 설치할 수 없습니다.

files=`find . -newermt "-3600 secs"`

for file in $files
do
       sshpass -p "" scp "$file" "root@$IP://usr/local/www/current/$file"
done
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.