每天自动上传tomcat日志到阿里云oss

场景:服务器tomcat的日志很长 需要切割 并每日上传

步骤
使用logrotate切割日志——>使用ossutil上传到oss——>创建上传脚本放进定时任务

1.使用logrotate切割日志

配置文件 /etc/logrotate.conf
配置目录 /etc/logrotate.d/

1.添加tomcat文件和logcut目录

cd /usr/dev
mkdir logcut

logrotate是系统内置的 不需要额外安装
直接进入配置目录 编辑配置文件

cd /etc/logrotate.d/  
vim tomcat

这里可以直接百度搜索logrotate语法,以下是我用的参考,实现每天切割:

/usr/dev/tomcat/logs/catalina.out  
{
    copytruncate  
    daily         
    rotate 7     
    compress
    nodelaycompress
    missingok 
    olddir /usr/dev/logcut
    dateext
    dateformat -%Y%m%d.%s
    size 10k     
}



/usr/dev/tomcat/logs/catalina.out  #服务器中catalina.out存放地址
{
    copytruncate  #拷贝原日志文件,并将其大小变为0
    daily         #每天切割
    rotate 7     #保留最多7个文件
    compress      #压缩分割后的文件
    missingok     #文件丢失了,继续切割而不报错
    olddir /usr/dev/logcut
    dateext
    dateformat -%Y%m%d.%s 生成的文件名,这里看自己定义
    size 10k      #当catalina.out文件大于10k时,就切割    
}

这里刚写完,手动试一下,有两种测试命令:
测试1:

logrotate /etc/logrotate.conf

测试2:(只轮转刚刚的tomcat配置文件)

logrotate --force /etc/logrotate.d/tomcat

测完查看文件并展示内存

[root@localhost logcut]# sudo du -sh * #
127M	catalina.out-20220212.1710357541.gz
131M	catalina.out-20220213.1710444841.gz
138M	catalina.out-20220214.1710532021.gz
2.配置ossutil

查看linux系统位数 getconf LONG_BIT 返回64

oss说明文档地址https://help.aliyun.com/document_detail/120075.html

进想安装ossutil的文件夹中 运行命令 给工具设置权限

cd /usr/dev
wget https://gosspublic.alicdn.com/ossutil/1.7.10/ossutil64
chmod 755 ossutil64
3. 在ossutil64下载地址文件路径下创建脚本

修改配置 按提示输入阿里云的key等配置

 ./ossutil64 config

完了开始写脚本

vim dailylog.sh创建名为dailylog.sh的脚本文件

#!/bin/sh
cd /usr/dev
./ossutil64 cp -r /usr/dev/logcut/ oss://openbox-具体名字/对应存放日志的os文件夹名字/ -u

最后使用crontab -e编辑定时器让这个脚本每天运行

crontab -e
分 时 日 月 星期 
0 6 * * * bash /usr/dev/dailylog.sh

OK.

crontab -e编辑定时器列表
crontab -l查看定时器列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值