2013-06-25 2 views
0

서버가 hostname.com/files입니다. 파일을 업로드 할 때마다 다운로드하고 싶습니다.원격 서버에서 파일을 업데이트하십시오.

나는 files 디렉토리를 지속적으로 검사하는 스크립트를 만들려고했다. 서버에있는 파일의 타임 스탬프를 확인하고이를 기반으로 다운로드합니다.

bash 스크립트를 사용하여 파일 타임 스탬프를 확인할 수 있습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?

1 시간마다 서버의 모든 파일을 다운로드 할 수 있습니다. 그러므로 cron 작업을 사용하는 것이 더 좋을까요?

+3

'rsync'를 사용하면 새로운 파일이나 변경된 파일 만 복사합니다. – Barmar

답변

0

파일을 정기적으로 업데이트하려는 경우 크론 (cron) 작업이 최선의 방법 일 수 있습니다. 검사를 수행하는 스크립트를 작성하고 1 시간 간격으로 실행하십시오.

@Barmar가 위에서 언급 한 것처럼 rsync은 다른 옵션 일 수 있습니다. crontab이 뭔가를 넣고 당신은 설정해야합니다

# min hour  day month day-of-week user command 
17 * * * * user rsync -av http://hostname.com/ >> rsync.log 

해당 위치에있는 서버에서 파일을 잡아 매 시간의 17 분에 rsync.log에 세부 사항을 추가 할 것입니다. 지금 당장은 rsync 웹 서버에서 파일을 가져올 수 없습니다.

wget를 사용하여 또 다른 옵션은 다음과 같습니다

-N 재 다운로드가 로컬 버전의 타임 스탬프보다 최신 파일
wget -Nrb -np -o wget.log http://hostname.com/ 

, -b이 백그라운드로 프로세스를 전송, -r 디렉토리로 재귀 및 -o가 지정하는 로그 파일. 이것은 임의의 웹 서버에서 작동합니다. -np은 부모 디렉토리로 올라 가지 않아서 전체 서버의 콘텐츠를 효과적으로 보호합니다.

자세한 내용은 평상시처럼 rsync 또는 wget의 매뉴얼 페이지에 있습니다.

관련 문제