将 SSHFS 网络驱动器备份到 Crashplan?

将 SSHFS 网络驱动器备份到 Crashplan?

我经常在多台远程机器上开发和测试代码,这些机器并不都位于同一个 NFS 文件系统上。对于交互式工作,我通常使用 SSHFS 在本地机器上挂载远程文件系统。例如:

mkdir ~/machine1
sshfs [email protected]: ~/machine1 #mount machine1's home directory locally

过去几年我一直使用 CrashPlan 备份本地硬盘。我想开始使用 CrashPlan 备份本地安装的远程磁盘。

在 CrashPlan UI 中,它为我提供了备份的选项~/machine1然而,CrashPlan 认为该~/machine1目录是空的,即使machine1.domain.org安装在那里。

如何让 CrashPlan“看到”我使用 SSHFS 安装的驱动器?


最后几点想法:

  • 我认为备份 SSHFS 安装的驱动器会很慢。我不太担心速度;我只是在每个远程驱动器上都有少量的数据。
  • 可以可能会在所有远程机器上安装 CrashPlan。但是,这是我的最后手段:据我所知,CrashPlan 没有命令行界面,因此在无头机器上管理 CrashPlan 并不好玩。

答案1

它不起作用的原因是,除了您的用户之外,没有其他用户可以看到 sshfs 挂载的目录。除非Crashplan以您的用户身份运行,否则它将无法备份它。您可以自己尝试一下:

sudo -i
ls -al ~me/ | grep machine1
ls: cannot access /home/me/machine1: Permission denied
??????????   ? ?       ?              ?              ? machine1

有一种方法可以挂载 sshfs,使文件也可供 root 用户或机器上的每个人使用。如果 Crashplan 以 root 用户身份运行,则应仅使其可供 root 用户使用。

sshfs -o allow_root [email protected]: ~/machine1 

或者你可以允许机器上的任何人(包括 root)查看你的文件:

sshfs -o allow_other [email protected]: ~/machine1 

您可能需要允许这些标志/etc/fuse.conf

gksudo gedit /etc/fuse.conf

更改此行:

#user_allow_other

user_allow_other

您还需要加入 fuse 组。运行groups,如果您不在fuse列表中,则需要运行:

sudo addgroup <your user> fuse

然后注销并再次登录就可以正常工作了。

答案2

实际上,在无头机器上运行 CrashPlan有点有趣。

http://support.crashplan.com/doku.php/how_to/configure_a_headless_client

您可能会更喜欢这样,因为您可以更详细地设置备份的运行方式。

相关内容