删除服务器垃圾文件

删除日志文件操作在维护测试环境过程中需要经常执行,手工删除文件比较费时。通常来说占用文件系统较多空间的是长期运行的应用用户产生的日志文件和上传或者备份的打包文件。日志文件生成的位置和用户名有相对固定的位置和格式,但是打包备份的大文件是不太能直接确定可以直接删除的。基于这2点考虑,编写脚本实现自动删除无用文件清理出环境空间。

需求描述

1、日志文件生成路径位于$HOME/log目录下,文件名为‘用户名_[debug|run|warn].log‘或者‘用户名_[debug|run|warn].log.n‘,n为数字,常为备份名。

2、临时文件生成路径位于$HOME/temp目录,文件名为‘用户名_[debug|run|warn].tmp‘或者‘用户名_[debug|run|warn].tmp.n‘,n为数字,常为备份名。

3、查找系统中大于指定大小(如100M)的所有文件并输出,供用户手工判断删除。

4、不能误删系统文件,特别是oracle用户的重做日志文件(redoN.log)。

需求实现

文件名为clearlogs.sh,实现如下:

#!/bin/bash

FILESIZE=‘100M‘
if [ $(whoami) != ‘root‘ ];then
  printf "Please execute script on the root user,exit\n"
  exit 1
fi

rm -f user.lst
awk -F‘:‘ ‘{print $1,$6}‘ /etc/passwd > user.lst

while read user user_home
do
  [ -d ${user_home}/log ] && find ${user_home}/log -maxdepth 2 -type f -name "${user}*.log*" -print0 | xargs -0 rm -f
  [ -d ${user_home}/temp ] && find ${user_home}/temp -maxdepth 2 -type f -name "${user}*.tmp*" -print0 | xargs -0 rm -f
done < user.lst

rm -f bigfile.lst
printf "Begin find larger than ${FILESIZE} files,wait a moment.....\n"
find / -type f -size +"${FILESIZE}" -print > bigfile.lst
printf "End find the files.\n"
printf "Please check below larger than ${FILESIZE} files and manual delete it.\n"
cat bigfile

#delete temp files
#rm -f user.lst
#rm -f bigfile.lst

说明:1、脚本可以根据实际情况进行修改以适用当前产品;2、脚本多次运行测试正常后可配置定时任务进行定期清理删除。

时间: 2024-08-26 09:45:10

删除服务器垃圾文件的相关文章

java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息

1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html https://www.cnblogs.com/longyg/archive/2012/06/25/2561332.html https://www.cnblogs.com/qdwyg2013/p/5650764.html#top 引入jar包的maven依赖如下所示:

删除windows系统垃圾文件

把下面一段代码放到文本文件里,另存为clear.bat文件,点保存.以后点击运行该bat文件即可将系统文件中的临时文件等清除掉,提升系统运行速度. @echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%/*.tmp del /f /s /q %systemdrive%/*._mp del /f /s /q %systemdrive%/*.log del /f /s /q %systemdrive%/*.gid del /f /

硬盘中出现eula.1028.txt等垃圾文件的原因及是否可删除

首先要确定以下几点: 1.这些文件都是在硬盘根目录下,而不是在硬盘的某个文件夹里面. 2.伴随eula.1028等这些文件产生的,还有一些install.res.1028.dll 这样和VC_RED这样的文件,并且eula.1028看起来像记事本. 如果以上两点我都说对了.那么请放心,这些文件可以删除的. 这些文件是vc2008在发行组件包安装时产生的临时文件,但这个软件却因为bug问题而错误的将临时文件放到了C盘更目录(本应该是temp目录并会被自动删除的,并且这个bug是微软已知的bug)

一次心惊肉跳的服务器误删文件的恢复过程

经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据.对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错.也希望遇到问题的朋友能找到一丝灵感解决问题. 事故背景 安排一个妹子在一台生产服务器上安装Oracle,妹子边研究边安装,感觉装的不对,准备卸载重新安装.从网上找到卸载方法,其中要执行一行命令删除Oracle的安装目录,命令如下: rm -rf $ORACLE_BASE/* 如果ORACLE_BASE这个变量没有赋值,那命令就变成了 rm -rf /* ==||,妹子使用

git 上传代码到GitHub 以及git删除github上文件和文件的命令

Git入门 如果你完全没有接触过Git,你现在只需要理解通过Git的语法(敲入一些命令)就可以将代码上传到远程的仓库或者下载到本地的仓库(服务器),可知我们此时应该有两个仓库,就是两个放代码的地方,一个是本地,一个是远程的(如Github).企业或者团队可以通过Git来对项目进行管理,每个程序员只需将自己的本地仓库写好的代码上传到远程仓库,另一个程序员就可以下载到本地仓库了.今天我们就从Git终端软件的安装开始,再这之前我也简单介绍一下Github. Git上传代码 一.准备工作 1.注册一个g

如何清理Macbook垃圾文件

如何清理Macbook垃圾文件,腾出更多硬盘空间 在Macbook使用久之后,会发现本来还富裕的硬盘,变得越来越少,尤其现在Macbook使用容量很小的固态硬盘.在此种情况下,该如何清理Macbook垃圾文件,以保证Macbook有足够空间做其他事情呢? 方法/步骤 1 首先,先打开用户的资源库,因为大部分垃圾文件都在资源库中 2 如果你是一个iOS开发者,那你需要注意资源库目录下的Developer下的两个字目录 3 删除“~/资源库/Developer/Xcode/DerivedData/”

C# 之 FTP服务器中文件上传与下载(四)

        通过上一篇博客<C# 之 FTP服务器中文件上传与下载(三)>,我们已经实现将文件从我们创建的FTP服务器中下载到本地.今天就最后给大家讲解一下怎么对FTP中的文件进行重命名和删除操作. 首先在前台添加两个重命名和删除的按钮 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Defaul

【c#源码】安卓客户端通过TCP通信与Windows服务器进行文件传输

APK文件  (对应的windows服务器端已经架设好,可以直接下载进行测试) 源码     数据库文件 在前面一篇文章:[源码]c#编写的安卓客户端与Windows服务器程序进行网络通信 中我们探讨了,如何通过xamarin技术,完成安卓客户端与Windows服务器的通信,这篇文章,我们探讨一下使用场景非常多的文件传输. 先谈一下为什么使用xamarin.android技术吧,之前有开发过一个公文系统,c#语言开发,服务器部署在Windows Server 2003上,客户端采用Winform

NSIS源码_清理AutoCAD垃圾文件

以前用NSIS写的一个工具,现贴出源码. !packhdr temp.dat 'upx -9 temp.dat' ;!packhdr temp.dat 'cmd /c Copy /B temp.dat /B +D:\Pro_Template\Pack_NSIS.7z temp.dat' !define PRO_NAME "CCTool-ACAD" !define PRO_VER "Final(NSIS)" ;NSIS最终版 !define VIPRO_VER &qu