使用Rsync将Android备份到NAS

时间:2018-03-20 19:25:10

标签: android ssh backup rsync nas

如何通过SSH将带有Rsync的Android设备(未植根)备份到NAS?

这是一个可以提供帮助的小方法:

  1. 配置密钥 要么双方使用dropbear,要么创建Open ssh密钥并将私钥转换为dropbear:
  2. ssh-keygen -t rsa -f rsync.key
    sudo apt-get install dropbear
    /usr/lib/dropbear/dropbearconvert openssh dropbear rsync.key rsync.key.db
    

    rsync.key.pub复制到服务器.ssh/authorized.keys 将私钥rsync.key.db复制到Android设备(您想要的位置),将公钥复制到

    1. 安装Syncopoli(感谢作者的优秀开源软件!)
    2. 如果你在arm-V7-a上运行Android,你可以在这里下载apk: https://f-droid.org/en/packages/org.amoradi.syncopoli/

      如果您在arme-V8-a上运行Android,则必须克隆git repository git clone https://gitlab.com/fengshaun/syncopoli.git,从f-droid上的源tarball添加jni源并使用Android Studio编译新的apk

      1. 配置Suncopoli 在参数更改:
        • 服务器地址到您的NAS IP
        • SSH协议
        • Android设备上私钥绝对路径的私钥(即/storage/emulated/0/data/rsynch.key.db
      2. 在“操作”页面中,创建一个任务: - 本地到远程(用于NAS上的备份) - 设置个人资料名称 - 将源文件夹设置为备份(即/storage/emulated/0/DCIM/Camera) - 设置目的地(即/media/share/camera

        运行任务..文件应该出现在你的NAS上

1 个答案:

答案 0 :(得分:0)

我不得不在Debian Buster上进行一些更改。首先,在我指定PEM格式之前,转换密钥给我Error: Unrecognised key type。另外,如果指定了密码,则密码失败,Error: Ciphers other than DES-EDE3-CBC not supported。因此,创建密钥的正确过程是:

sudo apt-get install dropbear
ssh-keygen -t rsa -m PEM -N '' -f rsync.key
/usr/lib/dropbear/dropbearconvert openssh dropbear rsync.key rsync.key.db

此外,尽管ssh上的rsync在F-Droid.org的v0.5.2中可以正常工作,但在v0.5.3中,由于某些原因,作业甚至都没有尝试连接,因此我不得不对其进行降级以使其正常工作。有趣的是,此后我可以升级到v0.5.3,它仍然可以正常工作。