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. 第一个shell

    首先进入linux系统,打开命令行,输入命令vi test.sh创建一个shell测试脚本,键入i切换vi编辑器为输入模式,输入以下文本内容,键入:wq保存退出即可.下面第一行的#!是告诉系统其后路径 ...

  2. vertica 7.0 使用kafka

    config.propertiesclient.id设置为主机名或ip auto.offset.reset=smallest client.id=qas 设置环境变量 kafka_config=&qu ...

  3. C#爬虫开发小结

    前言 2023年以来一直很忙,临近春节,各种琐事更多,但鸽了太久没写文章总是不舒坦,忙中偷闲来记录下最近用C#写爬虫的一些笔记. 爬虫一般都是用Python来写,生态丰富,动态语言开发速度快,调试也很 ...

  4. 读Java8函数式编程笔记02_流

    1. 外部迭代 1.1. for循环是一个封装了迭代的语法糖 1.1.1. 本质上来讲是一种串行化操作 1.2. 很难抽象出不同操作 2. 内部迭代 2.1. 内部迭代中的相应接口:Stream 2. ...

  5. 深度剖析 Linux 伙伴系统的设计与实现

    在上篇文章 <深入理解 Linux 物理内存分配全链路实现> 中,笔者为大家详细介绍了 Linux 内存分配在内核中的整个链路实现: 但是当内核执行到 get_page_from_free ...

  6. 【Android 4.4】内存文件系统(tmpfs)的创建与使用

    前言说明 某些情况下,需要缓存一些文件到磁盘中,我们可以借助 tmpfs 文件系统,来提升读写缓存文件的速度,并且也可以避免频繁读写缓存文件所带来的对 flash 的寿命影响. 使用方法 通过 mkd ...

  7. 让 MSYS2 Bash 像 Git Bash 一样显示 Git 分支名称

    Git for Windows 的 Bash 有一个很实用的功能,如果当前目录处于 Git 仓库中,那么命令行中会显示当前 Git 分支的名称(见下图). 然而原版的 MSYS2 Bash 没有这个功 ...

  8. bind使用场景之一

  9. Spring事务失效原因分析解决

    文章目录 1.方法内部调用 2.修饰符 3.非运行时异常 4.try-catch捕获异常 5.多线程调用 6.同时使用@Transactional和@Async 7.错误使用事务传播行为 8.使用的数 ...

  10. Session和Shiro的Session区别

    tomcat中的session常出现为jsessionId,而shiro的session不相同,两者的id不同. 在controller中,通过 request.getSession(_) 获取会话 ...