원격 rsync가 경로에 있더라도 rsync에 --rsync-path 플래그가 필요한 이유에 대해서는 상당히 혼란 스럽습니다.
치다:
$ rsync -avze 'ssh -p 22' --delete public/ pmatos@domain.com:~/public_html
bash: /usr/local/bin/rsync: No such file or directory
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(601) [sender=3.0.7]
그런 다음 --rsync-path를 추가하려고했습니다.
$ rsync -avze 'ssh -p 22' --rsync-path=/usr/bin/rsync --delete public/ pmatos@domain.com:~/public_html
sending incremental file list
...
따라서 첫 번째 rsync는 / usr / local / bin에서 rsync를 검색했기 때문에 성공하지 못했지만 --rsync-path를 사용하여 rsync의 명확한 경로를 전달하자마자 작동합니다.
왜 이런거야? (이 명령 행은 octopress에서 rake deploy가 발행 한 명령 행입니다)
목적지 끝에 강제 명령이 있습니까? .bashrc 또는 .profile에 로컬 환경 변수를 설정할 수있는 것이 있습니까?
—
SmallClanger
$ cat ~/.bashrc | grep PATH
아무것도 반환하지 않습니다.
당신이 자신을 ssh하고 실행
—
SmallClanger
which rsync
하면 무엇을 얻습니까?
$ ssh pmatos@domain.com which rsync
반환/usr/bin/rsync
기묘한. 지금, 빨대에 쥐고 : 아마도 해당 지역의 rsync와는
—
SmallClanger
alias
에드 rsync --rsync-path
(또는 다른 지역의 래퍼)?