用于自动将 B2 Backblaze 存储桶安装到本地安装点的 fstab 条目

用于自动将 B2 Backblaze 存储桶安装到本地安装点的 fstab 条目

我维护着一台 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 来说,它实际上是相同的,只需将每次出现的 替换sshfss3fs并设置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(如果您想等到重新启动才能安装,请省略。)

相关内容