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. Earthdata批量下载MODIS遥感影像的方法

      本文介绍在Earthdata网站中,批量下载MODIS遥感影像的方法.   首先,打开网页:https://search.earthdata.nasa.gov/search ,如果没有Earthd ...

  2. C#/VB.NET 在Excel中添加水印

    在工作中,为了防止文件被随意复制和传播,通常我们会选择在文档中添加水印来对文件进行有效保护.文字水印是比较常见的一种保护手段,它可以有效防止文件被任意复制和随意打印传播.不过,Excel默认并没有水印 ...

  3. 重磅!瞄准 Web 3.0,谷歌云推出专为区块链服务的 Blockchain Node Engine!

    [本文由Cloud Ace整理发布,谷歌云服务请访问Cloud Ace 官网] 区块链技术正在为世界各地的消费者和企业带来巨大的创新和价值创造.随着技术变得越来越主流,公司需要可扩展.安全和可持续的基 ...

  4. 解决Java.awt设计GUI程序时Label标签中文乱码解决(idea)

    未修改时对话框里边无法显示Label的文本内容,显示的都是方框!网上都是Run--Edit Configurations--VM options:填入-Dfile.encoding=gbk 但是我实际 ...

  5. Java入门与进阶P-5.7+P-5.8

    素数 去掉偶数后,从3到x-1 每次加2 ·如果×是偶数,立刻 ·否则要循环(n-3)/2+1遍 ·当n很大时就是n/2遍 构造素数表 欲构造n以内的素数表 1. 令x为2 2. 将2x/ 3x. 4 ...

  6. 手把手教你用LOTO虚拟示波器搭建测试系统整机

    虚拟示波器如果用于个人的研发调试工作,主要能体现出它的小巧便携以及功能强大.而它的另一个巨大优势,可集成性可定制性高,则是在我们做项目中搭建测试系统的时候才能更好的体现出来. 通常测试系统要求长时间工 ...

  7. immutable.js学习笔记(七)----- Seq

    一.Seq 懒得意思就是"不运算,不执行" 二.运行 当console.log这个值的时候,才去观察 三.任意collection 四.Seq.keyed 五.Seq.Indexe ...

  8. CentOS即将停止维护,拥抱阿里“龙蜥“(Anolis OS),VMware安装Anolis OS与介绍

    一.前言 大家在自己电脑来进行服务器的一些操作时,基本都是使用CentOS 7或者是CentOS 8,但是2021年底CentOS 8宣布停止了维护:CentOS 7 在2024年6月30日也会停止维 ...

  9. ChatGPT留给知乎、小红书的时间不多了

    大家好啊,今天我打算给大家整点好活!挑战一下用ChatGPT打入各平台内部. 知乎挑战! 首先了解一下"知乎体" 知乎体是以专业知识为基础,以清晰的条理对问题进行阐述,并解决该问题 ...

  10. mysql19-锁

    1.什么是锁 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性. ...