我正在寻求一些帮助,以创建一个适当的命令行,以便通过 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 ssh 连接到 iPhone 的人,这里有一个讨论该方法的链接:http://iphonedevwiki.net/index.php/SSH_Over_USB
最佳答案
rsync
必须安装在两个位置。 Cydia 有一个安装在 iPhone 上的 rsync
二进制文件。连接rsync
的方法与任何常规的ssh服务器相同。
这是一个 bash 脚本解决方案(包括 --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
关于rsync——通过 ssh 从本地同步到远程的命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24483283/