情景设定
对一台服务器上多个用户的数据进行备份。使用阿里云对象存储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
参考资料
有关object的命令_ossutil_常用工具_对象存储 OSS-阿里云