服务器日志自动上传到阿里云OSS备份

背景

公司服务器磁盘空间有限,只能存近15天日志,但是有时需要查看几个月前的日志,需要将服务器日志定时备份到某个地方,需要查询的时候有地方可查。

针对这个问题,想到3个解决方法:

1、买一个配置比较低,磁盘空间比较大的服务器,专门用来存储其他服务器日志

2、将服务器日志实时同步到阿里云日志服务

3、将服务器日志定期同步到阿里云OSS

方法1比较传统,且有丢失风险;由于我们历史日志查询频率不会很高(可能发现历史问题了,才能查询一次),所以优先选择的方法3.

步骤

1、先在阿里云上开通存储服务OSS,创建好bucket

2、在服务器上安装ossutil,参考如何安装ossutil_对象存储(OSS)-阿里云帮助中心 (注意,如果服务器是阿里云的ECS,配置Endpoint的时候一定要输入阿里云的内网Endpoint路径,例如oss-cn-hangzhou-internal.aliyuncs.com,否则传输速度很慢)

3、在服务器上编写执行脚本xxx-log-backup.sh

复制代码
#!/bin/bash

# 获取当前日期的前十天的日期
date_10_days_ago=$(date -d "-10 days" +%Y-%m-%d)

# 创建指定路径
ossutil mkdir oss://xxx-log-backup/项目名称/$date_10_days_ago

# 拷贝指定文件,下面语句表示拷贝"/home/admin/项目名称/logs"路径下"xxx_2025-01-10*"的所有日志
ossutil cp /home/admin/项目名称/logs oss://xxx-log-backup/项目名称/$date_10_days_ago --include "xxx_${date_10_days_ago}*" --ignore-existing

4、先执行sh xxx-log-backup.sh看下日志是否正常拷贝到OSS,正常情况下如下图

5、定时执行xxx-log-backup.sh,crontab -e

复制代码
0 2 * * * sh /home/admin/log-backup/xxx-log-backup.sh >> /home/admin/log-backup/xxx-log-backup.log
相关推荐
zzzzzz3101 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode1 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz5 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工5 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智5 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_5 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化