如何将1TB空间用成4TB? 因数据备份180天的合规要求,需要将防火墙日志进行备份,目前日志审计只有1TB容量,数据仅能存储45天,也就是磁盘需至少增加4倍,用传统硬盘扩容的方式成本会很高,因此决定用对象存储OBS。

 

现状是这样的,防火墙日志-syslog-日志审计,日志审计设备自带2种备份方式,一个是FTP,一个是samba,这两种方式都不适合目前现状,因此决定使用脚本的方式将需要备份的数据上传至OBS,然后从本地删除。

 

那么就申请对象存储obs,申请好了之后安装,这里就不做介绍了

接下来就是分别测试上传,查看,下载环节了,

./obsutil cp 1.txt obs://logaudit/./obsutil ls obs://logaudit/./obsutil cp obs://logaudit/1.txt ./

没问题之后,接下来就是bash脚本实现,脚本我是编写不出来,最终领导在反复调试后最终脚本如下:

 

脚本功能:将backup目录的所有文件上传至obs(排除es目录),并命名为文件创建月日+文件名,检查obs上是否已存在,如存在则删除本地文件

#!/bin/bash
cd /usr/local/las/data/backupls -l |grep -v "total"|grep -v "es" |while read linedo obsfilename=$(echo $line|awk '{print $6"-"$7"-"$9}') filename=$(echo $line|awk '{print $9}') result=$(/root/obsutil_linux_amd64_5.4.6/obsutil cp $filename obs://logaudit/$obsfilename)done/root/obsutil_linux_amd64_5.4.6/obsutil ls obs://logaudit/|grep -P 'obs://logaudit/.+? ' -o|awk -F '-' '{print $3}'|while read linedo rm -f $linedone

 

最后设置计划任务每日自动执行

0 1 * * * cd /root/dz/test && bash backup2obs.sh

 

脚本比较通用,适用于任何linux服务器的obs备份

posted on 2022-08-11 10:47  root-123  阅读(179)  评论(0编辑  收藏  举报