删除超过 x 天的文件(从移至随机文件夹之日起)

删除超过 x 天的文件(从移至随机文件夹之日起)

我运行 Ubuntu 14.04 作为 Windows 客户端的文件服务器。客户端已映射网络共享文件夹以供使用。当他们从该文件夹中删除文件时,文件将进入“.recycle”。我想删除超过 x 天的文件。我使用了 autotrash 命令:

autotrash -d 30 -T /home/etc/.recycle 

但它告诉我 .recycle 不包含信息文件:

Can not find trash information directory. Make sure you have at least GNOME 2.24

我正在看:/home/etc/.recycle/info

安装了最新的 Gnome,结果相同。我知道当文件移入 .recycle 时,应用程序无法读取信息。我可以使用命令:find /path/to/files* -mtime +5 -exec rm {} \;但当文件移入 .recycle 时,它​​们会保留上次修改日期,而不是移入文件夹时的日期。

我可以创建信息文件吗?有什么解决方案可以删除文件移动到某个文件夹后 x 天以前的文件吗?

提前致谢。

答案1

您可以将以下脚本设置为每 X 天运行一次(使用cron):

#!/bin/bash

cd /home/etc/recycle_old           #Deletes old trash
rm -r ./*

cd /home/etc
mv -r ./recycle ./recycle_old      #Moves new trash to "old"-folder

它的工作原理如下:

1.有 2 个文件夹recycle(已经给出)用于存储“最近”删除的文件,以及recycle_old用于存储“旧”文件。

2.每隔 X 天,所有内容recycle_old都会被删除,并替换为“最近”的内容recycle

如果要删除超过一个月的文件,只需将脚本移至/etc/cron.monthly。如果您需要更具体的信息,请查看如何设置 cronjob

相关内容