rsync yêu cầu rsync-path khi rsync từ xa nằm trong đường dẫn


11

Tôi khá bối rối về lý do tại sao rsync yêu cầu cờ --rsync-path ngay cả khi rsync từ xa nằm trong đường dẫn.

Xem xét:

$ 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]

sau đó tôi đã thử thêm --rsync-path

$ rsync -avze 'ssh -p 22' --rsync-path=/usr/bin/rsync  --delete public/ pmatos@domain.com:~/public_html
sending incremental file list
...

Vì vậy, rsync đầu tiên không thành công vì nó đã tìm kiếm rsync trong / usr / local / bin nhưng ngay khi tôi vượt qua đường dẫn rõ ràng cho rsync bằng cách sử dụng --rsync-path, thì nó hoạt động.

Tại sao lại thế này? (dòng lệnh này là dòng được phát hành bởi triển khai cào trong bạch tuộc)


Bạn có bất kỳ lệnh bắt buộc ở cuối đích không? Bất cứ điều gì trong .bashrc hoặc .profile có thể đặt biến môi trường cục bộ?
SmallClanger

$ cat ~/.bashrc | grep PATHtrả lại không có gì.
Paulo Matos

Nếu bạn chỉ ssh trong chính mình và chạy which rsyncnhững gì bạn nhận được?
SmallClanger

2
$ ssh pmatos@domain.com which rsynctrở về/usr/bin/rsync
Paulo Matos

Kỳ dị. Ly hợp tại ống hút, bây giờ: Có lẽ rsync địa phương của bạn aliasphù hợp với rsync --rsync-path(hoặc một số trình bao bọc cục bộ khác)?
SmallClanger

Câu trả lời:


2

Bộ nhớ của tôi bây giờ khá mờ nhạt về điều này nhưng lý do điều này đã xảy ra là tôi đã sử dụng GNU stow trên rsync tại một số điểm và tạo ra một số liên kết tượng trưng làm nhầm lẫn rsyncvị trí của nó. Điều này đã được sắp xếp sau khi kéo tóc nhiều. Bây giờ tôi nhẹ hơn nhiều trên tóc nhưng mặt khác tôi có một công việc rsync. Đó phải là một chiến thắng nếu bạn hỏi tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.