我经常在多台远程机器上开发和测试代码,这些机器并不都位于同一个 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
您可能会更喜欢这样,因为您可以更详细地设置备份的运行方式。