定期删除控制台的录屏文件,以解决服务器磁盘占用率满的问题

问题描述:在项目中常常遇到流程在启动录屏的情况下,服务器上的磁盘占用很快满了的情况,此时就需要我们定期对服务器的录屏文件和日志文件进行清理
1. 编写 shell 脚本清理磁盘
1)创建 shell 脚本
在某文件夹下创建 shell 脚本
命令:touch /isearch/isa/clear.sh
ps: 创建路径可自己定义
进入编辑页面:

#!/bin/bash

delete_session_luping_dir=/isearch/isa/data/session  #录屏文件路径
delete_rpadoc_luping_dir=/isearch/isa/rpadoc/thumbnail/  # 录屏文件回放时进度条产生的缩略图,删除方案可与录屏文件的删除保持一致
delete_tomcat_logs_dir=/isearch/tomcat/logs  # 产品日志路径
delete_logs_dir=/isearch/isa/logs  # 服务器日志路径

echo $(date)"-->要删除地址为:"${delete_session_luping_dir}"下的录屏文件"
find ${delete_session_luping_dir} -mmin +10 -type f -exec rm -rf {} \; 
if [ $? -eq 0 ];then
	 echo $(date)"-->录屏文件删除成功"
else
	 echo $(date)"-->录屏文件删除失败"
fi
echo $(date)"-->要删除地址为:"${delete_rpadoc_luping_dir}"下的录屏文件"
find ${delete_session_luping_dir} -mmin +10 -type f -exec rm -rf {} \; 
if [ $? -eq 0 ];then
	 echo $(date)"-->录屏文件产生的缩略图删除成功"
else
	 echo $(date)"-->录屏文件产生的缩略图删除失败"
fi
echo $(date)"-->要删除地址为:"${delete_tomcat_logs_dir}"下的日志文件"

find ${delete_tomcat_logs_dir} -mmin +10 -type f -name "*log*" -exec rm -rf {} \;
if [ $? -eq 0 ];then
	 echo $(date)"-->平台日志文件删除成功"
else
	 echo $(date)"-->平台日志文件删除失败"
fi
echo $(date)"-->要删除地址为:"${delete_logs_dir}"下的日志文件"

find ${delete_logs_dir} -mmin +10 -type f -exec rm -rf {} \;
if [ $? -eq 0 ];then
	 echo $(date)"-->服务器日志文件删除成功"
else
	 echo $(date)"-->服务器日志文件删除失败"
fi

ps: 此案例删除的是 10 分钟前产生的录屏文件和产品日志,若需要处理以天为单位的则将 ‘-mmin + 分钟’ 替换为 ‘-mtime + 天数’

2. 为脚本添加执行权限
命令:chomd +x /isearch/isa/clear.sh

ps:需要确定clear.sh的路径

2. 在服务器上设置定时任务
命令:crontab -e
设置定时:

*/10 * * * * /isearch/isa/clear.sh 1>>/isearch/isa/out.txt 2>&1 # 每隔10分钟运行一次清理脚本,并将清理日志标准输出到out.txt文件中,out.txt的路径可自己定义

linux添加shell脚本并设置定时任务可参考 https://www.cnblogs.com/wu-wu/p/11214503.html