今天,在编写rsync备份命令的时候,提示执行ssh失败,提示找不到文件或目录,手动执行又是成功的,百思不得其解。提示信息如下:
rsync: Failed to exec ssh: No such file or directory (2)
rsync error: error in IPC code (code 14) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52/rsync/pipe.c(86) [receiver=2.6.9]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in IPC code (code 14) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52/rsync/io.c(453) [receiver=2.6.9]
rsync本身应该是不能直接无密码登陆服务器的,因为只有ssh打通后才可以执行无密码登陆服务器,并可以无密码传输文件,rsync应该是调用了ssh命令,才实现无密码访问功能。那么,这个错误提示,应该是rsync调用不到ssh命令。至于为什么找不到ssh,应该是和路径相关。
那么,怎么解决呢?rsync可以通过-e参数指定ssh,试了一下成功了。
$RSYNC -avh -e "$SSH -p 22" $USER@$SERVER:$FILE $FILE
作者: 汤汤
2002年-2005年:在阿里巴巴,负责社区、搜索引擎开发,第一代SEO圈圈主;2006年-2018年:在19楼,负责技术、数据分析、市场推广、产品规划;查看汤汤的所有文章