linux 通过S3fs挂载S3桶到本地
s3fs 简介
s3fs 是一个用于在Linux上挂载S3桶的文件系统。它允许用户像访问本地文件一样访问S3桶中的文件。
安装s3fs
在Ubuntu上,可以使用以下命令安装s3fs:
sudo apt-get update
sudo apt-get install s3fs
在CentOS上,可以使用以下命令安装s3fs:
sudo yum install epel-release
sudo yum install s3fs-fuse
配置s3fs
S3FS 默认使用 ${HOME}/.passwd-s3fs
作为当前用户的 AWS Credentials,
如果不存在,则使用 /etc/passwd-s3fs
作为系统的 AWS Credentials。
通过以下命令设置 ${HOME}/.passwd-s3fs
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs
挂载S3桶
配置s3fs之后,可以使用以下命令挂载S3桶:
其中,mybucket
是要挂载的S3桶的名称,/path/to/mountpoint
是要挂载的本地目录。
s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs
如果遇到任何错误,请启用调试输出:
s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs -o dbglevel=info -f -o curldbg
如果您将 s3fs 与非 Amazon S3 实施结合使用,请指定 URL 和路径样式的请求:
s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs -o url=https://url.to.s3/ -o use_path_request_style
卸载S3桶
可以使用以下命令卸载S3桶:
umount /path/to/mountpoint
自动挂载
您可以使用 fstab
文件来配置自动挂载。
先创建全局凭证文件
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > /etc/passwd-s3fs
chmod 600 /etc/passwd-s3fs
然后编辑 /etc/fstab
文件,添加以下行:
mybucket /path/to/mountpoint fuse.s3fs _netdev,allow_other,use_path_request_style,url=https://url.to.s3/ 0 0
总结
s3fs是一个强大的工具,可以让你像访问本地文件一样访问S3桶中的文件。通过简单的安装和配置,你可以在Linux上轻松地挂载S3桶。