一台服务器在用阿里云ECS,磁盘空间有限,服务器日志文件每天都在增长,需要定期清理释放磁盘空间,想到几种解决方案:
- 写任务定时备份到本地服务器
- 直接下载到本地用移动硬盘备份
- 备份到阿里云OSS对象存储
前两种方案需要占用ECS外网带宽,只能在用户使用低峰期备份,积累的日志文件已经几十G,小水管带宽备份至少需要半天时间。
查了下OSS对象存储,同一运营商的ECS和OSS间可以用内网传输文件,这就不用担心占带宽和速度问题了。
OSS有以下存储类型:
因为是日志文件,不出问题的时候不会经常翻阅,所以选择归档型存储,适合自己同时价格美丽。
具体操作
下载工具
wget http://gosspublic.alicdn.com/ossutil/1.6.0/ossutil64
授予可执行权限
chmod 755 ossutil64
设置为中文(可选)
./ossutil64 config -L ch
设置配置文件,按要求填入信息
./ossutil64 config
如果需要利用内网传输,需要填写下图中的内网地址。
常用命令:
上传
./ossutil64 cp yourFile oss://yourBucket/path
上传文件夹
./ossutil64 cp -r youDir oss://yourBucket/path
增量上传
./ossutil64 cp -r -u yourDir oss://yourBucket/path
备份日志可以把增量上传命令写入脚本
#!/usr/bin/bash
your-install-path/ossutil64 cp -r -u yourDir oss://yourBucket/path
开启定时任务
crontab -e
每天的4点执行
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
00 04 * * * sh yourBash.sh
这样就简单的实现了日志增量备份的操作
ossutil参考文档:https://help.aliyun.com/document_detail/50452.html