Vagrant를 사용하여 rsync를 사용하여 처음으로 게스트에서 호스트로 파일 복사

Vagrant를 사용하여 rsync를 사용하여 처음으로 게스트에서 호스트로 파일 복사

vagrant up"쉘" 제공을 수행할 때 일부 파일을 동기화된 폴더에 다운로드합니다. 해당 파일은 호스트 컴퓨터의 동기화 폴더에도 복사되어야 호스트에서 프로젝트를 사용할 수 있습니다. 사용할 때NFS동기화는 자동으로 수행되지만재동기화. Vagrant와 rsync를 사용하여 이를 달성할 수 있는 방법이 있습니까? 동기화된 폴더 구성은 다음과 같습니다.

config.vm.synced_folder "./", "/vagrant", type: "rsync", owner: "www-data",
rsync__exclude: [".git", "project1/app/cache", "project1/app/logs"],
rsync__args: ["--no-owner", "--verbose", "--archive", "-z", "--copy-links"]

답변1

에 따르면선적 서류 비치, rsync는 vagrant의 단방향 동기화입니다. 이는 게스트에서 호스트로 다시 동기화하기 위해 nfs와 같은 다른 메커니즘을 사용해야 하거나 호스트에서 rsync 명령을 수동으로 실행하는 것과 같은 자체 역동기화 메커니즘을 구현해야 함을 의미합니다.

vagrant에 rsync-back 확장(플러그인)을 작성할 수도 있습니다. 나는 그것을 달성하기 위한 기존 플러그인을 알지 못합니다.

vboxsfvirtualbox 게스트 확장이 게스트에 설치된 경우 nfs 및 rsync 대신 varant의 동기화 폴더에 대한 전송으로 virtualbox 공유 폴더 mechansim을 살펴볼 수도 있습니다 .

답변2

다음은 게스트에서 호스트로 동기화하는 명령이며 다음을 실행한 폴더에서 실행해야 합니다 vagrant up.

$ vagrant ssh-config > ssh_config
$ rsync -avH -e "ssh -F ./ssh_config" default:/vagrant/ ./

또한보십시오내가 stackoverflow에 쓴 이 답변.

답변3

게스트와 호스트에 SSH가 있는 경우 이를 사용하여 scp데이터를 양방향으로 전송할 수 있습니다.

관련 정보