CentOS下基于阿里云对象存储OSS的数据备份方案

情景设定

对一台服务器上多个用户的数据进行备份。使用阿里云对象存储OSS,本文介绍核心配置方法。这里使用阿里云对象存储OSS产品,对象存储OSS是数据备份的绝佳选择。其安全性、稳定性、便捷性,完全取代了传统的硬盘备份。

用户数据集合

此部分不详细描述了,不属于本文主要探讨的内容。预先设定所有用户数据,分别按天备份到指定压缩文件中。

本文假设数据本地备份文件夹为 /home/backup/%day_number%/

其中%day_number%当天数字日期。如/home/backup/23/

所有文件均在此文件夹下,以压缩包形式存储。如:

/home/backup/23/www.a1.com.tar.gz
/home/backup/23/www.a2.com.tar.gz
/home/backup/23/www.a3.com.tar.gz

新建Bucket

建议网页端建立Bucket,所属地域很重要,因为阿里云在同地域是提供内网访问的,有内网当然用内网,避免额外流量费用。读写权限选私有,因为数据备份当然不能无权限读取。
存储类型根据情况选择,如果存储周期小于30天,则选择普通存储Standard;若存储周期大于30天,则选择低频存储IA

下载OSS工具 ossutil

mkdir /usr/local/oss/ && cd /usr/local/oss/

wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/50452/cn_zh/1493273499823/ossutil && chmod 755 ossutil

这个下载地址我怕以后会变,可查看本文后面的参考资料查看最新地址。

配置 ossutil

./ossutil config -L en

阿里云把这个叫做交互式配置,非常方便。这里注意endpoint根据实际情况填外网或内网地址。之所以没有用-L ch是因为中文有时候乱码。stsToken没有可以直接回车忽略。

上传测试 ossutil

./ossutil cp /home/backup/ oss://bucket-name/subfolder-name/ -r

以上语句实现,把本地/home/backup/文件夹下所有文件,上传到到oss上名称叫bucket-name的Bucket中,一个叫做subfolder-name的子文件夹下。当然这个子文件夹可以省略。

ossutil命令相当强大,其中cp命令可以实现对于object的上传、下载和复制。有很多选项可以延伸,建议查看./ossutil help cp读一下帮助。

添加备份计划任务

上传如此简单,添加计划任务也轻松多了。假设时间安排:

0:01 删除昨天备份
0:10 进行当天备份
2:30 异地备份开始

crontab中添加类似以下语句

01 0 * * * root rm -rf /home/backup/*
01 0 * * * root #这里备份
30 2 * * * root /usr/local/oss/ossutil cp /home/backup/ oss://bucket-name/subfolder-name/ -r

参考资料

OSS常用工具汇总_常用工具_对象存储 OSS-阿里云

有关object的命令_ossutil_常用工具_对象存储 OSS-阿里云

 

点赞