使用backintime在Synology NAS(DS 5.2)上备份Linux桌面


1

我正在尝试使用Backintime在Synology NAS上设置我的Linux桌面计算机的备份。

但是,我遇到以下错误消息:

Entfernter Rechner <nas.ip.address> unterstützt 'rsync -rtDH --links --no-p --no-g --no-o  --dry-run --chmod=Du+wx /tmp/tmpAOVRI9 --rsh="ssh -p 22 " "<user>@<nas.ip.address>:/volume2/backup"' nicht:
3072

翻译:

Remote server <nas.ip.address> does not support 'rsync -rtDH --links --no-p --no-g --no-o  --dry-run --chmod=Du+wx /tmp/tmpAOVRI9 --rsh="ssh -p 22 " "<user>@<nas.ip.address>:/volume2/backup"':
3072

建立:

  • Synology NAS:DS214play,运行DS 5.2-5644
  • 桌面:Linux Mint 17.2
  • backintime:v1.0.34

到目前为止我做了什么:

  • 我已经设置了NAS,所以我可以登录 <user> 使用用户公共ssh密钥。 (从而, ssh -p 22 <user>@<nas.ip.address> 工作良好。)
  • 我让sshfs工作了,所以 sshfs -p 22 -o ServerAliveInterval=240 -o idmap=user <user>@<nas.ip.address>:/ </mountpoint/ 工作良好。 (然而, sshfs -p 22 -o ServerAliveInterval=240 -o idmap=user <user>@<nas.ip.address>:/volume2/backup </mountpoint/ 失败了 <user>@<nas.ip.address>:/volume2/backup: No such file or directory,即使该目录存在于nas上。

当我在桌面上的shell中运行上面的命令时,我收到以下错误消息(我也尝试过没有 volum2/backup 但结果是一样的):

rsync -rtDH --links --no-p --no-g --no-o  --dry-run --chmod=Du+wx /tmp/tmpAOVRI9 --rsh="ssh -p 22 " "<user>@<nas.ip.address>:/volume2/backup"
Permission denied, please try again.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.0]

请将您的问题移至 超级用户 。它的 无关 这里。
Martin Prikryl

Answers:


2

有一个 非常好的维基 关于为我总是链接的BackInTime设置Synology NAS。但这已经一去不复返了(至少它不再出现,历史仍然可用)。所以我会在这里添加它


问题

BackInTime无法使用Synology DSM 5,因为与NAS的SSH连接是指与SFTP不同的根文件系统。使用SSH访问真正的root用户,使用SFTP访问伪root(/ volume1)

安装 /volume1/backups/volume1/volume1/backups

如何

  • 创建一个名为的新卷 volume1 (如果它还不存在)
  • 启用用户主页服务(控制面板/用户)
  • 创建一个名为的新共享 backupsvolume1
  • 创建一个名为的新共享 volume1volume1 (必须是同一个名字)
  • 创建一个名为的新用户 backup
  • 给用户 backup 权限读/写共享 backupsvolume1,FTP的许可
  • 启用S​​SH(控制面板/终端和SNMP /终端)
  • 启用S​​FTP(控制面板/文件服务/ FTP / SFTP)
  • 自DSM 5.1:启用备份服务(备份和复制/备份服务)
  • 通过SSH以root身份登录
  • 修改用户的shell backup。设置为 /bin/sh
  • 创建一个新目录 /volume1/volume1/backups

    mkdir /volume1/volume1/backups
    
  • 安装 /volume1/backups/volume1/volume1/backups

    mount -o bind /volume1/backups /volume1/volume1/backups
    
  • 要自动挂载它,请创建一个脚本 /usr/syno/etc/rc.d/S99zzMountBind.sh

    #!/bin/sh
    
    start()
    {
           /bin/mount -o bind /volume1/backups /volume1/volume1/backups
    }
    
    stop()
    {
           /bin/umount /volume1/volume1/backups
    }
    
    case "$1" in
           start) start ;;
           stop) stop ;;
           *) ;;
    esac
    
  • 在您尝试使用BIT的工作站上为用户创建SSH密钥 backup,将公钥发送给NAS

    ssh-keygen -t rsa -f ~/.ssh/backup_id_rsa
    ssh-add ~/.ssh/backup_id_rsa
    ssh-copy-id -i ~/.ssh/backup_id_rsa.pub backup@<synology-ip>
    ssh backup@<synology-ip>
    
  • 现在,您可以使用BackInTime与用户一起执行NAS备份 backup

免责声明:我是BIT Dev-Team的成员


检查Synology上的主文件夹权限是否为755(drwxr-xr-x)也非常重要。否则带密钥的ssh将无效并请求密码。默认情况下,在我的情况下(DSM 6.1)创建了具有777权限的主文件夹。
yves


0

除了Germar的解决方案,我还必须在配置文件设置中添加自定义rsync标志:

  • 转到“导出选项”
  • 选中“将附加选项粘贴到rsync”
  • 添加--rsync-path = / 路径到rsync的 / rsync在旁边的文本字段中

在我的Synology工作站上,rsync位于/ bin / rsync。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.