2015-02-06 4 views
1

새 파일이 생성되면 15 분마다 한 서버에서 다른 서버로 업데이트 된 파일을 복사하려고합니다. 나는 기대 스크립트를 사용하여 코드를 작성했다. 그것은 잘 작동하지만 15 분 후에 그것은 디렉토리에있는 모든 파일을 복사합니다. 즉, 최신 파일을 대체하고 복사합니다. 모든 파일이 아닌 복사 된 파일 만 업데이트 (15 분마다 업데이트)하고 싶습니다.15 분 후에 한 서버에서 다른 서버로 업데이트 된 파일 복사

while : 
do 
     expect -c "spawn scp -P $Port [email protected]$IP_APP:/mnt/oam/PmCounters/LBO* Test/;expect \"password\";send \"password\r\";expect eof" 
     sleep 900 
done 

내가 rsync를 또는 다른 접근 방법을 사용할 수 있습니다 : 여기

내 스크립트입니다?

답변

0

rsync은 기본적으로 변경되거나 새 파일 만 복사합니다. 예를 들어, 해당 구문을 사용

rsync -avz -e ssh [email protected]:/remote/dir /local/dir/ 

사용 원격 쉘 (-e ssh ...)로 SSH를 지정 -a 아카이브 모드 -v 세트 상세 출력을 활성화하고 -z는 전송을 압축한다.

15 분마다 cronjob으로 실행할 수 있습니다.

암호로는 $RSYNC_PASSWORD 환경 변수 또는 --password-file 플래그를 사용할 수 있습니다.