随笔 - 268,  文章 - 5,  评论 - 8,  阅读 - 26万

如何将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/backup
ls -l |grep -v "total"|grep -v "es" |while read line
do
    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 line
do 
    rm -f $line
done

 

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

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

 

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

posted on   root-123  阅读(188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示