公司的系统一直在阿里云 ECS 服务器进行部署,有一个需求就是需要定期备份网站数据到本地,程序和数据库没多大直接打包备份就好了,但是附件已经快要10个G了,备份这个就是个问题;在 ECS 上直接打包下载的话因为 ECS 有贷款限制下载很慢。本文就介绍用OSS对象存储来存打包后的附件包,然后满速下载。

开通阿里云 OSS 对象存储

开通 OSS 对象存储服务请参考阿里云官方,本文不做探讨。

安装 OSSFS 工具

下载 OSSFS:

首先访问官方 OSSFS 仓库来获取你想要的版本包地址

https://github.com/aliyun/ossfs/releases

比如我这里选择的是 CentOS 7;使用命令

wget https://github.com/aliyun/ossfs/releases/download/v1.80.2/ossfs_1.80.2_centos7.0_x86_64.rpm

安装 OSSFS:

sudo yum localinstall ossfs_1.80.2_centos7.0_x86_64.rpm

初始化设置

设置 bucket nameAccessKeyId/Secret 信息,将其存放在 /etc/passwd-ossfs 文件中,注意这个文件的权限必须正确设置,建议设为 640

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs

示例

my-bucket 这个 bucket 挂载到 /tmp/ossfs 目录下,AccessKeyIdfaintAccessKeySecret123oss endpointhttp://oss-cn-hangzhou.aliyuncs.com

echo my-bucket:faint:123 > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /tmp/ossfs
ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com

使用说明

成功安装 ossfs 后,只要将文件放到你挂在的ossfs目录便可完成文件到OSS的存储;而且如果你使用的是阿里云ECS服务器还可以走内网,速度快的要死(还流量免费)
# 例:将 uploads.zip 上传到 OSS
cp uploads.zip /tmp/ossfs -v

卸载 bucket

fusermount -u /tmp/ossfs