1、之前同时项目部署在根目录,根目录磁盘空间40G,运行一年后日志占了18G的磁盘空间,

根目录只有几个G的磁盘空间,现在写shell脚本定时转移日志文件到挂载的磁盘目录下

2、编写shell脚本

#!/bin/bash
#移动这个目录下3天前的的报告
REPORT_LOG=/home/wwwroot/middleware/public/report #这个等号两边不能有空格,否则报错,这个是项目日志文件

#for循环3天前日志
for file in `find $REPORT_LOG -mtime +3`;
  do
  mv -f $file '/mnt/datadisk0/log/report/' #挂载的磁盘下
done

3、定时任务

#每隔3天定时转移一次日志
0 4 */3 * * /home/wwwroot/report_mv_log.sh

4、下面是另外一份转移日志的shell脚本

#!/bin/bash
# 获取前一天的日期
yesterday=`date +"%Y%m%d" -d "-1 days"`
# 公众号日志源文件目录
gzh_dir_source='/home/wwwroot/gongzhonghao/runtime/log/'
# 公众号日志备份文件目录
gzh_dir_back='/mnt/datadisk0/log/gongzhonghao/'
gzh_sql=$yesterday'_sql.log' #sql日志
gzh_cli=$yesterday'_sql_cli.log' #cli日志
gzh_pay_notify=$yesterday'_pay_notify.log' #支付回调日志
gzh_error=$yesterday'_error.log' #异常日志
#移动公众号前一天的日志,磁盘不够
if [ -e $gzh_dir_source$gzh_sql ]; then
    mv -f $gzh_dir_source$gzh_sql $gzh_dir_back
fi;
if [ -e $gzh_dir_source$gzh_cli ]; then
    mv -f $gzh_dir_source$gzh_cli $gzh_dir_back
fi;
if [ -e $gzh_dir_source$gzh_pay_notify ]; then
    mv -f $gzh_dir_source$gzh_pay_notify $gzh_dir_back
fi;
if [ -e $gzh_dir_source$gzh_error ]; then
    mv -f $gzh_dir_source$gzh_error $gzh_dir_back
fi;
# 中间件日志源文件目录
zjj_dir_source='/home/wwwroot/middleware/runtime/log/'
# 公众号日志备份文件目录
zjj_dir_back='/mnt/datadisk0/log/middleware/'
zjj_sql=$yesterday'_sql.log' #sql日志
zjj_cli=$yesterday'_sql_cli.log' #cli日志
zjj_error=$yesterday'_error.log' #异常日志
zjj_error_cli=$yesterday'_error_cli.log' #异常cli日志
zjj_guahao=$yesterday'_guahao.log' #挂号日志
zjj_req=$yesterday'_req.log' #req日志
zjj_his_token=$yesterday'_his_token.log' #token日志
zjj_his=$yesterday'_his.log' #token日志
zjj_his_cli=$yesterday'_his_cli.log' #token日志
#中间件前一天的日志,磁盘不够
if [ -e $zjj_dir_source$zjj_sql ]; then
    mv -f $zjj_dir_source$zjj_sql $zjj_dir_back
fi;
if [ -e $zjj_dir_source$zjj_cli ]; then
    mv -f $zjj_dir_source$zjj_cli $zjj_dir_back
fi;
if [ -e $zjj_dir_source$zjj_error ]; then
    mv -f $zjj_dir_source$zjj_error $zjj_dir_back
fi;
if [ -e $zjj_dir_source$zjj_guahao ]; then
    mv -f $zjj_dir_source$zjj_guahao $zjj_dir_back
fi;
if [ -e $zjj_dir_source$zjj_req ]; then
    mv -f $zjj_dir_source$zjj_req $zjj_dir_back
fi;
if [ -e $zjj_dir_source$zjj_his_token ]; then
    mv -f $zjj_dir_source$zjj_his_token $zjj_dir_back
fi;
if [ -e $zjj_dir_source$zjj_his ]; then
    mv -f $zjj_dir_source$zjj_his $zjj_dir_back
fi;
if [ -e $zjj_dir_source$zjj_his_cli ]; then
    mv -f $zjj_dir_source$zjj_his_cli $zjj_dir_back
fi;
if [ -e $zjj_dir_source$zjj_error_cli ]; then
    mv -f $zjj_dir_source$zjj_error_cli $zjj_dir_back
fi;

shell脚本定时任务转移项目日志的更多相关文章

  1. 编写shell脚本让springboot项目在CentOS中开机自启动

    springboot项目部署在CentOS系统上时,如果遇到停电关机,公司的实施人员就得跑到甲方现场重新启动项目并测试,很是麻烦,这里探讨如何编写shell脚本控制springboot项目开机时自动启 ...

  2. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  3. 编写通用shell脚本启动java项目,适用于多数服务,只需修改服务名即可

    文件名:service-user.sh 文件内容: ##shell脚本的头文件必须有#!/bin/sh ##再次配置java环境变量以防报其他错误## java env#jdk安装目录export J ...

  4. linux中使用corntab和shell脚本自动备份nginx日志,按天备份

    编写shell脚本,实现nginx日志每天自动备份到指定文件夹! 需要的命令mv , corntab -e(定时任务),shell脚本 这里先说一下corntab: https://www.cnblo ...

  5. 采用shell脚本定时清理Tomcat日志

    1 Shell脚本案例 删除超过30天的日志文件 #!/bin/bash log_path=/mnt/software/apache-tomcat-.M22/logs d=`date +%Y-%m-% ...

  6. shell脚本自动清理服务器日志、图片等信息

    在做性能测试的时候,linux服务器时常会产生大量数据,如日志信息,图片信息,文件信息等,压测一段时间后,导致服务器磁盘空间暂满而崩溃,每天手动清理比较麻烦, 利用shell脚本自动清理,脚本如下 1 ...

  7. linux下使用shell脚本自动化部署项目

    在Java开发项目时经常要把正在开发的项目发布到测试服务器中去测试,一般的话是要把项目先打成war包,然后把war包发布到服务器中,关闭服务器, 最后重新启动服务器,虽然这过程不是很繁琐,但如果是多个 ...

  8. shell脚本按当前日期输出日志

    shell脚本基本技能是设置变量,输出信息.如下: sh脚本输出到控制台 将以上脚本保存到test.sh脚本文件中,并赋予可执行权限:sudo chmod +x test.sh 执行脚本:bash t ...

  9. shell脚本切割tomcat的日志文件

    鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢 ...

  10. zabbix3.0.4通过自定义shell脚本添加对关键日志文件的监控

    zabbix添加对自定义无规则日志文件的监控 项目背景及思路: zabbix自带有针对日志文件的监控,自带的监控只能监控到指定文件或者正则匹配的固定日志文件,但当需要监控的文件名没有规律的时候自带监控 ...

随机推荐

  1. rvm安装ruby

    macOS11.1 打开终端 使用下面命令查看ruby版本 rvm list known 然后安装 rvm install 2.0.0 查看ruby版本 ruby -v   系统默认使用ruby版本 ...

  2. DML_添加数据-DML_删除数据

    DML_添加数据 添加数据 语法 : insert into 表名(列名1,列名2,...列名n) values (值1,值2,... 值n); 注意: 1.列名和值要一一对应. 2.如果表名后,不定 ...

  3. C#代码整洁之道读后总结与感想

    1. 基本信息 C#代码整洁之道:代码重构与性能提升 ,英文名为Clean Code in C#. 作者:[英] 詹森·奥尔斯(Jason Alls) 著,刘夏 译 机械工业出版社,2022年4月出版 ...

  4. HuggingNews #0210 这周模型有点多,快来看看吧

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  5. Idea未识别maven项目

    https://blog.csdn.net/qq_41460654/article/details/120539509

  6. Hystrix断路器

    1.介绍 ①产生原因 服务雪崩: 多个微服务之间调用,假设A调用B,C,B和C又调用其他微服务,这就是扇出. 如果扇出的链路上有某个微服务调用响应时间过长或者不可用,那么A调用会占用越来越多的系统资源 ...

  7. 学习Java Day18

    一.面向对象(面向过程) 1. 面向对象 找对象(封装了过程)来干. 例如:洗衣服(洗衣机就是对象). 2. 面向对象思想特点 是一种更符合我们思想习惯的思想. 可以将复杂的事情简单化. 将我们从执行 ...

  8. yaml文件详解

    一.yaml文件详解 前言 Kubernetes 支持 YAML 和 JSON 格式管理资源对象JSON 格式:主要用于 api 接口之间消息的传递YAML 格式:用于配置和管理,YAML 是一种简洁 ...

  9. js实现替换对象(json)格式的键名

    某些场景下,我们拿到的键名与预期的键名不符,这个时候就需要替换键名来得到我们想要的内容 let obj = [ { id:1, title:'zs' }, { id:2, title:'ls' } ] ...

  10. JZOJ 4366. 【GDKOI2016】项链

    \(\text{Problem}\) 给出一个项链,删去连续的一部分,使剩下的对称,且长度最长 \(\text{Analysis}\) 可以发现,剩下的合法项链一定是由两个回文串接起来(由对称性质可知 ...