OS X에서 파일 / 폴더를 감시하고 변경 사항을 업로드하는 도구는 무엇입니까?


1

나는 SFTP 또는 rsync (?) 도구 (또는 스크립트?) 특정 폴더 또는 특정 파일을 감시하고 변화에 안전하게 원격 서버에 업로드 찾고 있습니다.

배경:

나는 그것에 대해 숭고한 SFTP를 사용 해왔다. 꽤 잘 작동하지만 때로는 관람 의무를 잊어 버린다. 또한, 나는 Atom에게 대안 에디터로서의 역할을 부여하고 있으며 Sublime SFTP에 100 % 만족하는 툴은 없다.

대부분의 편집기 기반 SFTP 도구는 저장시 파일 만 업로드하지만 gulp 또는 CodeKit 구매 파일에는 적용되지 않습니다.

우리는 gulp-sftp빌드 스크립트 에 추가 했지만 그 역시 단점이 있습니다.

그래서 내가 궁금해했던 부분은 SFTP, rsync 또는 scp를 통해 파일이나 폴더를보고 변경 사항을 업로드 할 수있는 독립형 애플리케이션이 아닌가?


1
폴더 동작 살펴보기 - 폴더가 변경되면 스크립트를 시작합니다
Mark

그 때와 비슷한 무엇입니까? sites.google.com/site/andreatagliasacchi/blog/...
Urs


답변:


0

시도해보십시오 cron. 특정 시간이나 간격으로 명령을 실행하는 도구입니다. 찾고자하는 것이 정확하지 않을 수도 있지만 (빌드에서 복제) 꽤 잘 작동합니다.

cron을 설정하려면 터미널에서를 입력하십시오 crontab -e.

이렇게하면 텍스트 편집기 (기본값으로 설정하는 텍스트 편집기에 따라 다름)와 각 필드의 용도를 설명하는 멋진 헤더가 나타납니다.

minute, hour: does as it says
dom: day of month
mon: month
dow: day of week

이제 정기적 인 백업을 수행하라는 명령을 살펴 보겠습니다. 백업을위한 훌륭한 도구는 rsync입니다. 비밀번호 프롬프트없이 SSH 키가 작동하려면 SSH 키를 설정해야합니다.

다음은 내가 사용하는 명령입니다.

rsync -vzhaPE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location

사용 된 옵션 : -vzhaPE

v: verbose
z: compress (good for slow connections. Adjust compression level with --compress-level=<1-9>)
h: human readable numbers
a: archive mode. This preserves timestamps and practically clones everything over as it were.
P: progress bar.
E: keep partial files. This means that if the connection was interrupted, rsync will pick up on the partial files and continue where it left off. Good for copying multiple large files over a slow network.
delete-after: deletes files from the server that have been deleting from the sending side

옵션 v, h 및 P는 사람이 디버깅하는 데 더 많이 사용되므로 cron 작업에 이러한 옵션을 사용하지 않을 것입니다.

그래서, 그것을 cron에 넣으려면 : (예를 들어 매 10 분마다 실행)

*/10 * * * * rsync -zaE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location

이 명령은 10 분마다 서버의 지정된 디렉토리에 지정된 디렉토리의 파일을 되돌립니다 . rsync가 복사 한 파일을 삭제할 때 중복되지 않습니다.

또한 원하는 경우 Time Machine과 같은 버전 관리 기능에 관심이있는 경우 복사 된 백업을 다른 폴더로 이동시키는 스크립트를 실행할 수도 있습니다. 충분한 저장 공간이 필요하고 백업 명령 (rsync push to rsync pull)에 약간의 비틀기가 필요합니다. 이것이 당신이 찾고있는 것이라면 알려주세요.


Downvoter, 왜 downvote?
perhapsmaybeharry

1
나는 downvoter가 아니지만, 끊임없이 변화를 감시하는 도구를 찾고있다. 꿀풀을 통해 CSS 또는 js를 빌드하는 경우 즉시 테스트 환경으로 이동해야합니다. 매초마다 cron을 실행할 수 있다고하더라도 리소스 집약적 일 수 있습니다. 그렇습니까?
우르스

아, 알았어. 나는 그런 의미에서 착각한다. 기술적으로, 변경 사항을 지속적으로 감시하는 도구는 밀리 초마다 몇 줄의 코드를 실행하고있을 가능성이 높지만 아마도 이러한 목적에 맞게 최적화되었을 것입니다.
perhapsmaybeharry

철저한 답을 얻으
Tim Harper

0

나는 https://github.com/DmitryKoterov/dklab_realsync/tree/master를 발견 했다. 설치가 쉽고 (각 사이트의 설정 파일과 그것을 만드는 마법사로) 크로스 플랫폼이기 때문에 암호가 필요없는 로그인을 지원한다.

로컬 인스턴스가 서버의 인스턴스와 100 % 동일하지 않은 경우 동기화 할 항목을 정의 할 때주의하십시오. realysnc는 동일하게 만듭니다.


0

https://atom.io/packages/remote-sync 는 신뢰할 수있는 감시자를 가지고 있으며 다른 답변에서 remote_sync보다 사용하는 것이 "위험합니다". .css 및 .js 파일 만 동기화하면됩니다.

완전 암호없이 작동하지 않지만 SFTP 대신 FTPS와 함께 사용합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.