我维护着一台 ubuntu 20.04 LTS 无头服务器,我可以使用 fusion s3fs 手动挂载 B2 存储桶进行备份。
如何添加一行以fstab
在开机时自动安装 B2 存储桶?
我知道更改 fstab 可能很棘手。我从 Backblaze 获得的挂载脚本常问问题:
sudo s3fs \ mybucket \ /path/to/mountpoint \ -o passwd_file=/etc/passwd-s3fs \ -o url=https://s3.your-region.backblazeb2.com
答案1
fstab 条目格式记录在 s3fs 上自述文件:
mybucket /path/to/mountpoint fuse.s3fs allow_other,use_path_request_style,url=https://s3.your-region.backblazeb2.com,passwd_file=/etc/passwd-s3fs 0 0
笔记:它是大概将其作为 /etc/fstab 条目并不是一个好主意。为什么?因为您需要先启动网络才能挂载它,但可能会在拥有网络之前先读取 /etc/fstab! (你可以添加_netdev
挂载选项,但我不知道Ubuntu20.04是否支持这一点——遇到了麻烦)。
相反,你应该只是有一个 systemd .mount 单元。这可以说“嘿,我依赖网络连接!”,然后当您的网络工作时,安装可以自动完成。 (此外,您还可以执行 .automount,其中安装不是在网络可用时立即发生,而是在您尝试访问 /path/to/mountpoint 时立即发生,但这是另一个故事)。
我解释一下你是如何做到的这个答案,但对于 SSHfs。对于 s3fs 来说,它实际上是相同的,只需将每次出现的 替换sshfs
为s3fs
并设置What=mybucket
。文件名很重要!它必须根据安装点形成(请参阅链接的答案):
/etc/systemd/system/path-to-mountpoint.mount
:
[Unit]
Description=Backblaze mount
Requires=network-online.target
[Mount]
What=mybucket
Where=/path/to/mountpoint.
Type=fuse.s3fs
Options=allow_other,use_path_request_style,url=https://s3.your-region.backblazeb2.com,passwd_file=/etc/passwd-s3fs
然后你可以激活挂载,它会在每次启动时出现:
systemctl enable --now path-to-mountpoint.mount
--now
(如果您想等到重新启动才能安装,请省略。)