寻找脚本来搜索 Linux 服务器中具有特定命名方案的超过 x 天的文件

寻找脚本来搜索 Linux 服务器中具有特定命名方案的超过 x 天的文件

我公司有一组 Linux 服务器,用户在上面存储文件。这些文件遵循常见的命名方案 #####,###,###,其中的数字与它们独有的字段相关。他们应该在 30 天后删除这些文件,但这并没有发生,而且由于用户群体不断增长,一些服务器的磁盘空间不足。

有人知道我可以编写一个脚本来搜索 Linux 服务器的所有分区,查找任何符合上述命名方案且超过 30 天的文件并将其移动到新文件夹吗?

这将使清理变得更加容易,因为一些用户将文件存储在很多层深的地方,并且开始花费太多时间只是寻找它们,更不用说决定是否可以删除它了。

任何帮助将不胜感激!

答案1

使用查找命令获取所需的文件。您可以使用-mtime选项设置文件的年龄。您可以使用正则表达式\d{5},\d{3},\d{3}$匹配文件名。然后将每个文件移动到您想要的任何位置。

像这样:

find / -mtime +30 -regex '\d{5},\d{3},\d{3}$' -exec mv {} /path/to/destination/folder \;
  • 上述操作会将其释放到根目录,这非常可怕。考虑将其仅包含在您需要的目录中。
  • 请注意,该模式并不是极其独特的,因此请再次谨慎使用。
  • 微调你的正则表达式这里

相关内容