linux的日志文件自动上传到oss

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: linux的日志文件自动上传到oss
#!/bin/bash
# 模块名字
servernames=("zxwy-api" "zxwy-task")
# 日志上传bucket名称
bucketname=zxwy-dev-backup-bucket
# 日志所在机器IP
ip=172.17.161.164
# 开始上传
for servername in ${servernames[@]}
do
  location=/home/logs/dev/${servername}
  # 上传当前日志
  # 前一小时日期,格式yyyy-MM-dd
  time=`date -d "1 hour ago" +"%Y-%m-%d-%H"`
  # 文件名字
  filename=${location}/${servername}.log.${time}
  echo '上传开始: '${filename}
  # 判断文件是否存在
  if [ ! -f "${filename}" ]; then
    echo '本地文件未找到: '${filename}
    exit 0
  fi
  # 检查oss是否已存在
  exists=`/home/apps/ossutil/ossutil -c /home/apps/ossutil/config ls oss://${bucketname}/log/${servername}/${ip}/${servername}.log.${time}.tar.gz`
  if [[ ${exists} =~ 'Object Number is: 1' ]]; then
    echo '云端文件已存在: '${filename}
    continue
  fi
  # 压缩
  cd ${location}
  tar -czvf ${servername}.log.${time}.tar.gz ${servername}.log.${time}
  # 上传到oss
  /home/apps/ossutil/ossutil -c /home/apps/ossutil/config cp ${filename}.tar.gz oss://${bucketname}/log/${servername}/${ip}/${servername}.log.${time}.tar.gz
  # 删除
  rm -f ${filename}.tar.gz
  echo '上传完成: '${filename}
done
exit 0
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
20天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
129 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
20天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
21天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
29 7
|
20天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
2月前
|
监控 Linux 应用服务中间件
系统监控:使用日志文件 journalctl的使用
本文介绍了如何使用`journalctl`命令来监控和查看Linux系统的日志文件,包括查看特定行数、过滤日志级别、实时跟踪日志、按时间段查询日志以及日志轮换和压缩的配置。
57 2
系统监控:使用日志文件 journalctl的使用
|
2月前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
49 3
|
2月前
|
SQL 数据库
为什么 SQL 日志文件很大,我应该如何处理?
为什么 SQL 日志文件很大,我应该如何处理?
|
2月前
|
SQL 数据库
为什么SQL日志文件很大,该如何处理?
为什么SQL日志文件很大,该如何处理?
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
59 0
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
42 0