热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

清理n天之外的文件(从手动到自动)清理磁盘

继上次磁盘空间满了造成jenkins构建不稳定,因此需要清理磁盘空间删除n天之外的文件首先,先查看磁盘空间:df命令用于显示目前在Linux系统上的文件系统磁盘使用情况统计df-


继上次磁盘空间满了造成jenkins构建不稳定,因此需要清理磁盘空间删除n天之外的文件



首先,先查看磁盘空间:


df
命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计



"df -h”以更易读的方式显示目前磁盘空间和使用情况。


"df -i” 以inode模式来显示磁盘使用情况。


"df -l” 
local 限制列出的文件结构。





对比df -h和df -i:


在df -h 和df -i  显示使用率100%,基本解决方法都是删除文件。


df -h   是去删除比较大无用的文件-----------大文件占用大量的磁盘容量。


df -i    则去删除数量过多的小文件-----------过多的文件占用了大量的inode号。



手动删除n天之外的文件



命令:


find /home/admin/logs/csp -mtime +7 -name "*.log*" -exec rm {} \;


命令详解:


find:linux的查找命令,用户查找指定条件的文件;


/home/weblogic/rc-server-tomcat-8081/logs:想要进行清理的文件目录;


-mtime:标准语句写法;


+7:查找7天前的文件,这里用数字代表天数;


"*.log":希望查找的数据类型


        "*.jpg"表示查找扩展名为jpg的所有文件,


         "*"表示查找所有文件,这个可以灵活运用,举一反三;


-exec:固定写法;


rm:
用于删除一个文件或者目录


        
* -i 删除前逐一询问确认。


        * -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。


        * -r 将目录及以下之档案亦逐一删除。


rm -rf:强制删除文件,包括目录及子目录或文件;


{} \; :固定写法,一对大括号+空格+\+;



自动清理n天之外文件



每次手动执行语句太麻烦,我们可以考虑编写shell脚本自动清理:


1.创建shell脚本(地址自定义,文件名自定义。本文讲解以地址:
/home/admin/


文件名:auto-del-7-days-txt.sh为例


touch /home/admin/auto-del-7-days-txt.sh


2.编辑shell脚本


vi 
auto-del-7-days-txt.sh


也可以把1和2合并成一个命令:


新建加编辑该脚本:


sudo vi 
/home/admin/auto-del-7-days-txt.sh





将我们之前手动删除文件的命令粘到该shell脚本里


#!/bin/sh


find /home/admin/logs/csp -mtime +7 -name "*.log*" -exec rm {} \;





退出编辑模式(Esc)保存并退出(:wq)


3.给该shell脚本分配可运行权限


sudo chmod  755 auto-del-7-days-txt.sh


查看权限是否分配成功:


cd /home/admin


ls





该文件变绿即为分配权限成功


4.计划任务


crontab  -e 编辑crontab服务文件


将auto-del-7-days-txt.sh执行脚本加入到系统计划任务,到点自动执行


命令:
10 0 * * * /home/admin/auto-del-7-days-txt.sh >/dev/null 2>&1


解析:


10 0 * * *:
每天凌晨0点10分定期执行auto-del-7-days-txt.sh文件进行数据清理任务。


> /dev/null 2>&1:
当程序在你所指定的时间执行后,系统会发一封邮件给当前的用户,显示该程序执行的内容,若是你不希望收到这样的邮件,请在每一行空一格之后加上 > /dev/null 2>&1 即可






编辑完crontab文件后,提示
crontab: installing new crontab


官方文档解释:
新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。


看该用户下的crontab服务是否创建成功, 用 crontab  -l 命令


服务创建成功:





5.启动
crontab任务


一般启动服务用  /sbin/service crond start;


若是根用户的cron服务可以用 sudo service crond start





查看crontab任务的执行情况:


方法一、查看
crontab任务的执行状态:
service crond status


我在执行这个命令的时候出现了连接超时的情况:


上面已经加载启用了,到后面不知道问什么又
无法创建会话:连接超时






方法二、可以使用查看其执行日志的方式:


查看已经执行过的任务,
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron查看





两种方式查看,一个提示成功,一个提示失败,我裂开了呀,看明天的执行结果吧,会持续更新。。。。。。


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • Redis的默认端口、数据库使用和多端口配置
    本文介绍了Redis的默认端口、数据库使用和多端口配置的方法。通过选择不同的数据库和使用flushdb命令可以实现对不同数据库的访问和清除数据。同时,本文还介绍了在同一台机器上启用多个Redis实例的方法,并讨论了配置认证密码的步骤和注意事项。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
author-avatar
覃思慧_419
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有