rsync - 用于通过ssh从本地同步到远程的命令行

时间:2014-06-30 05:11:10

标签: rsync

我正在寻求一些帮助,请创建一个正确的命令行,通过ssh从本地计算机同步到远程服务器。

这是 工作的草稿。

/usr/bin/rsync --dry-run --delete -arzh /Users/HOME/.0.data/ "--rsh=/Users/HOME/.0.data/.0.emacs/elpa/bin/sshpass -p 'alpine' ssh -p '2222' -l root localhost" -t "cd /var/mobile/Applications/F30B1574-5979-4764-8742-7F9DB2863094/Documents/.0.data && bash --login"

以下命令行通过usb通过ssh成功登录我的iphone。我想将该工作命令行合并到可以与rsync一起使用的内容中,但我在这方面需要一些帮助。

/Users/HOME/.0.data/.0.emacs/elpa/bin/sshpass -p 'alpine' ssh -p '2222' -l root localhost -t "cd /var/mobile/Applications/F30B1574-5979-4764-8742-7F9DB2863094/Documents/.0.data && bash --login"

对于有兴趣通过usb学习如何通过ish进入iphone的人,这里有一个讨论该方法的链接:http://iphonedevwiki.net/index.php/SSH_Over_USB

1 个答案:

答案 0 :(得分:2)

必须在两个位置都安装

rsync。 Cydia有一个安装在iPhone上的rsync二进制文件。与rsync连接的方法与任何常规ssh服务器相同。


以下是bash脚本解决方案( includes --dry-run):

#!/bin/bash

HOST="localhost";
PORT="2222";
USER="root";
PWD="alpine";
SOURCE="/Users/HOME/Desktop/test/";
TARGET="/private/var/mobile/Applications/F30B1574-5979-4764-8742-7F9DB2863094/Documents/test";
SSHPASS="/Users/HOME/.0.data/.0.emacs/elpa/bin/sshpass";
RSYNC="/Users/HOME/.0.data/.0.emacs/elpa/bin/rsync";

$RSYNC --dry-run --progress --delete -arvzh --rsh="$SSHPASS -p $PWD ssh -p $PORT -l $USER" $SOURCE $HOST:$TARGET

有关如何将rsync与Emacs结合使用的示例,请参阅以下主题:https://emacs.stackexchange.com/a/5844/2287