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

标签 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 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/

相关文章:

ubuntu - 每天一次同步运行 Ubuntu 的整个 Plone 生产服务器的可行性

python - 当子进程运行时,如何打印此代码的进度?

linux - `cp` 对比 `rsync` 对比更快的东西

linux - 需要知道linux机器上rsync的状态

linux - 如何从 rsync 中排除两台服务器上都存在的目录?

linux - rsync 制作平面副本

bash - rsync - 排除除子目录之外的所有内容,但排除子子目录

linux - 从变量运行 rsync 命令——不接受引用

linux - 文件名中的旧 rsync 和空格