2013-10-09 77 views
1

我試圖使用rsync和makefile將mac上的本地文件發佈到我的服務器。 當運行make命令我碰到下面的錯誤:Makefile和rsync錯誤:無法執行ssh:沒有這樣的文件或目錄

rsync: Failed to exec ssh: No such file or directory (2) 
rsync error: error in IPC code (code 14) at /SourceCache/rsync/rsync-42/rsync/pipe.c(86) [sender=2.6.9] 
rsync: connection unexpectedly closed (0 bytes received so far) [sender] 
rsync error: error in IPC code (code 14) at /SourceCache/rsync/rsync-42/rsync/io.c(452) [sender=2.6.9] 
make: *** [deploy] Error 14 

奇怪的是,rsync命令會,如果我直接在shell中輸入它的工作。

這裏的Makefile中有趣的部分:

USER = admin 
SERVER = 92.243.xx.xx 
PATH = d_ghost1/www/sub.domain.de/htdocs/ 

deploy: 
    /usr/bin/rsync -avz \ 
    --exclude '.git*' \ 
    --exclude '.DS*' \ 
    --exclude '*.log' \ 
    --exclude 'config.ini\*' \ 
    --exclude 'backend/config.ini\*' \ 
    ./{assets,backend,frontend,templates,waffle} $(USER)@$(SERVER):$(PATH) 

任何人都可以理解這一點? 謝謝, 盧茨

+0

我不知道rsynch,但它有可能在某些shell而不是其他的shell中起作用?有幾件事情你可以縮小問題的範圍 - 我會從一個規則開始,這個規則是'哪個ssh'。 – Beta

+0

我這樣做了,make所使用的shell知道/ usr/bin/ssh中的ssh – user2373001

+0

好的,接下來我會嘗試儘可能簡化makefile,同時仍然重現錯誤。此外,谷歌表示rsync有時無法找到ssh,因此您可以嘗試在rsync/bin /中使用符號鏈接,或使用-e/usr/bin/ssh。 – Beta

回答

0

如果重命名局部變量PATH喜歡的東西REMPATH,你會不會與系統的PATH變量干擾(指到哪裏查找可執行文件),並希望所有的應該是你所期望的......

相關問題