python - 移动包含旧文件的目录的简单方法

标签 python perl bash scripting

我在/home/customers/customer1、/home/customers/customer2 等路径中维护了很多(大约 1000 个)客户文件夹。现在客户来了又走,我不想保留我的工作驱动器中一段时间​​(例如 2 年)未修改的文件夹。

我需要的是一个简单的脚本

a) 将所有候选文件夹视为给定路径(例如/home/customers/)的直接后代(即不递归到子文件夹,因为我不想分割客户的数据);

b) 为每个文件夹计算最近的修改时间;

c) 如果某些文件夹(例如/home/customers/mycustomer231)的修改时间早于 1 年,则将其移动到指定路径(例如/var/backup/oldcustomers)。

最简单的实现方法是什么?

用什么语言?在巴什?珀尔? Python?其他语言?

我了解 Bash 的一些基础知识。我知道,有一种方法可以通过嵌套 find <..> -exec 来实现它在另一个内部并使用 this thread 的建议,但生成的代码肯定看起来不容易理解和维护。 我还了解其他提到的语言的一些基础知识,足以理解它们的大部分代码,但没有足够的经验来编写自己的解决方案。

(是的,我可以花一个月以上的时间来学习其中一种语言,但是为了解决我的孤立问题,时间的代价太昂贵了。我确信,这个问题是基本的,并且专业的人与很多人一起工作/home/中的用户正在清除旧条目,已经有解决方案。)

最佳答案

要查找 365 天前修改的所有目录:

$ find /home/customers -maxdepth 1 -type d -mtime +365 -exec stat -c '%y %n' {} \;

将它们移动到新位置:

$ find /home/customers -maxdepth 1 -type d -mtime +365 -exec mv {} /var/backup/oldcustomers \;

关于python - 移动包含旧文件的目录的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9647930/

相关文章:

python - 计算速度与属性入类

python - python 实现中的 Strassen 算法错误

perl - Catalyst MVC 使用单个表单保存多个对象

r - 无法在 R-Studio 上实现 git 版本控制(版本控制系统 : NONE)

linux - Bash 脚本 : always show menu after loop execution

linux - 从循环修改全局变量

python - cumtrapz 收到意外的关键字参数 'initial'

python - 通过单独的函数自动填充 Tkinter.entry 框

xml - XPath 表达式中的 Perl 变量

android - 如何使用脚本查询android sqlite数据库