写点什么

蓝易云 - centos 脚本获取昨天日期删除指定文件之外的其他文件

  • 2024-06-19
    四川
  • 本文字数:867 字

    阅读完需:约 3 分钟

蓝易云 - centos脚本获取昨天日期删除指定文件之外的其他文件

在 Linux 系统中,我们经常需要进行文件管理,比如删除一些不再需要的文件。有时候,我们可能想要保留某个特定的文件,而删除其他所有的文件。这种情况下就需要使用到脚本来实现这个功能。


首先让我们来看看如何在 CentOS 系统中获取昨天的日期。在 Linux 系统中有一个命令叫做 date可以用来获取当前日期和时间。如果你想要获取昨天的日期,则可以使用 date -d "1 day ago"命令。

yesterday=$(date -d "1 day ago" +%Y%m%d)echo $yesterday
复制代码

上述脚本会将昨天的日期以"YYYYMMDD"格式存储到变量 $yesterday 中,并打印出该变量。

接下来让我们看一下如何保留指定文件而删除其他所有文件。假设你现在有一个目录叫做/data,并且你想要保留/data 目录下名为 file.txt 的所有版本(例如 file.txt.20231002, file.txt.20231001 等),同时删除除此之外其他时间版本(例如不是昨天)生成但与此无关联(即非 file.txt 开头) 的所有其它文档。

cd /data
for file in $(ls | grep -v "^file\.txt\.$yesterday")do if [[ $file != "file.txt"* ]]; then rm $file fidone
复制代码

上述脚本首先进入/data 目录,然后列出该目录下的所有文件。grep -v "^file\.txt\.$yesterday"命令会过滤掉所有以"file.txt.昨天的日期"开头的文件。然后对于每一个剩下的文件,如果该文件名不是以"file.txt"开头,则删除该文件。

这样我们就实现了保留指定日期版本(例如昨天)和指定前缀(例如“file.txt”) 的文档,同时删除其他所有文档。

需要注意这个脚本会直接删除/data 目录下不符合条件的所有文档,并且无法恢复。因此在运行此脚本之前,请确保你已经备份了重要数据,并且明确知道你正在做什么。

以上就是在 CentOS 系统中获取昨天日期并根据条件删除特定之外其他文档 的方法。希望对你有所帮助!

云服务器推荐

蓝易云国内/海外高防云服务器推荐


蓝易云-五网CN2服务器【点我购买】蓝易云采用KVM高性能架构,稳定可靠,安全无忧!蓝易云服务器真实CN2回国线路,不伪造,只做高质量海外服务器。



海外免备案云服务器链接:www.tsyvps.com

蓝易云香港五网 CN2 GIA/GT 精品网络服务器。拒绝绕路,拒绝不稳定。

用户头像

百度搜索:蓝易云 2023-07-05 加入

香港五网CN2免备案服务器

评论

发布
暂无评论
蓝易云 - centos脚本获取昨天日期删除指定文件之外的其他文件_云计算_百度搜索:蓝易云_InfoQ写作社区