FTP를 통한 파일 동기화


11

FTP 액세스 만있는 서버와 컴퓨터의 파일을 동기화해야합니다. 따라서 rsync를 사용할 수 없습니다 (적어도 SFTP가 필요하지만 사용할 수있는 유일한 채널은 일반 바닐라 FTP입니다).

내 컴퓨터에서 서버까지 단방향 동기화 만 필요합니다. unison 이라는 프로그램에 대해 들어 보았지만 양방향 동기화를위한 것 같으며 원하는 것을 수행하도록 조정할 수 있는지 확실하지 않습니다. 또한 프로그램이 비 대화식으로 작동하여 스크립트 내에서 사용될 수 있도록 추가해야합니다.

마지막 옵션은 수정 시간 (또는 이와 유사한 것)으로 파일을 비교하고 변경된 파일을 복사하는 내 스크립트 를 작성 하는 것입니다. 이미 FTP 디렉토리를 로컬 디렉토리에 마운트 했으므로 두 디렉토리를 동기화하는 것만으로 문제가 해결됩니다. 그러나 내 직감은 야생에 이미 존재하는 것과 같은 것이 있어야한다고 말합니다.

답변:


14

wput일할 수 없었기 때문에 대안을 찾고 ncftp를 찾았습니다 .

보다 구체적으로 ncftpput 은 wput의 기능을 거의 수행하는 것처럼 보였다. 가장 중요한 것은 wput과 같이 충돌하지 않았습니다. 실제로 -z 옵션을 사용하여 변경되지 않은 파일 만 업로드 할 수 있습니다.

ncftpput -z -u user -p pass ftp.mydomain.com dir/name files-to-upload...

나를 위해 완벽하게 일했다
로마 m

OSX에서 다음을 통해 설치하십시오 brew install ncftp..
kenorb

1
전체 디렉토리 트리를 복사하려면을 사용하십시오 -R.
kenorb

"noclobber"/ "덮어 쓰지 않음"을 의미하기 위해 -z를
오프라 벨로

이틀 전에 찾았 으면 좋겠다. 매뉴얼 페이지에 "최신" "기존 건너 뛰기"옵션이 표시되지 않았기 때문에 ncftpget을 포기했습니다. 나는 BASH에서 Python에 이르기까지 lftp에서 내 머리를 이겼다. 그런 다음 Google에서 ncftp를 다시 시도하고 솔루션을 찾았습니다. ncftpget (man page)을 찾아 보았습니다. "-z / -Z 전송을 다시 시작하지 마십시오. 기본값은 다시 시작하는 것입니다." 설득력있는 소리가 들리지 않았습니다. 그러나, hell ya .. 내가 찾던 옵션입니다. ncftpget을 사용하여 새 파일 만 다운로드하십시오. 이 의견이 도움이 되길 바랍니다.
Anup Nair


3

물론 wput 이라고 합니다


물론이야! 나는 그것에 대해 어떻게 생각하지 않았다. 그 프로그램을 완전히 잊어 버렸습니다. 나는 그것이 작동 생각하지만, 나는 그것을 밖으로 시도 다시 집에 갈 때 나는 다시보고거야 ...
르네 Saarsoo

reasin wput을 사용하면 무언가를 업로드하려고 할 때 "세그먼트 결함"이 발생합니다.
Rene Saarsoo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.