• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > 设置自动清理Linux系统中n天前的文件的方法

设置自动清理Linux系统中n天前的文件的方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了linux文件系统,linux文件系统详解,linux文件系统类型,linux系统镜像文件,linux系统镜像iso文件等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

服务器每周会产生一次全局备份文件,大小约100G左右,需要定期清理。

工作时间网站访问大,服务器I/O高的时候删除大数据会对服务器状态产生不好的影响。于是想利用计划任务自动执行。

在我的备份目录/bakcup下,每次备份文件均以日期形式命名目录名:

-type d:设置查找类型为目录

-mtime +28:查找28天前的目录

查找结束后可用-exec参数连接删除命令



最后可以把命令放入脚本,设置crontab自动执行。

提醒:

使用命令前,应先在服务器上试用查找部分的命令,如只查找出要清理的目录,则可以继续。

不排除某些系统会将./目录查找出来,一定要看清楚,防止出现意外情况。

另外可将-exec替换为-ok,效果相同,在删除前提醒用户确认。

PS:rm命令与rsync命令的效率比较
rm
rm命令大量调用了lstat64和unlink,可以推测删除每个文件前都从文件系统中做过一次lstat操作。
lstat64的次数低于文件总数,还有另外的原因,之后会在另一篇文章中说明。
getdirentries64这个调用比较关键。
过程:正式删除工作的第一阶段,需要通过getdirentries64调用,分批读取目录(每次大约为4K),在内存中建立rm的文件列表;第二阶段,lstat64确定所有文件的状态;第三阶段,通过unlink执行实际删除。这三个阶段都有比较多的系统调用和文件系统操作。
rsync
rsync所做的系统调用很少。
没有针对单个文件做lstat和unlink操作。
命令执行前期,rsync开启了一片共享内存,通过mmap方式加载目录信息。
只做目录同步,不需要针对单个文件做unlink。
另外,在其他人的评测里,rm的上下文切换比较多,会造成System CPU占用较多——对于文件系统的操作,简单增加并发数并不总能提升操作速度。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 我想在系统目录下新建一个文件应该怎么办?
  • 出售FatFat12/16/32文件系统源码
  • 系统找不到指定文件gulpsrc筛选指定文件类型之外的所有文件
  • 如何实现Windows与Linux文件系统互访的解决办法
  • linux下普通文件和目录文件区别详解
  • Linux下垃圾文件的详解
  • Linux下的链接文件详解
  • 详解Linux系统中的文件权限设置
  • Linux下自动清理大量文件的方案探究
  • 设置自动清理Linux系统中n天前的文件的方法

相关文章

  • 2017-05-12Linux系统的垃圾清理方法总结
  • 2017-05-12临时更改Linux栈空间大小的方法
  • 2017-05-12详解Linux中rm与rmdir删除命令的用法
  • 2017-05-12在Linux中使用which和whereis命令来查找和定位文件
  • 2017-05-12Linux系统的dd命令使用教程
  • 2017-05-12linux如何修改分区id?修改linux分区类型的方法
  • 2017-05-12详解Linux系统中ping和arping命令的用法
  • 2017-05-12在Linux命令行下查询当前所使用的shell版本与种类的方法
  • 2017-05-12Linux下安装TeamCity简单教程
  • 2017-05-12Linux中安装使用semanage来修改文本的教程

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • Linux系统下tar命令的使用技巧总结
    • Linux中文件系统的目录结构详细介绍
    • Linux下压缩和优化jpg与png图片的方法
    • 深入解析Linux下的磁盘缓存机制与SSD的写入放大问题
    • Linux修改RPM的安装目录的方法
    • Linux中安装部署Docker管理工具Drone全攻略
    • 在Linux中使用which和whereis命令来查找和定位文件
    • 详解Linux系统内存寻址的分页机制
    • Linux系统下将txt转换为mobi格式电子书的方法
    • 在Linux上如何管理加密密钥?管理加密密钥的最佳体验

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有