我们有一个 Linux FTP 服务器,客户和项目经理可以在上面上传文件以交换文件。不幸的是,没有人会在用完文件后进入并删除任何内容。我正在寻找一种巧妙的方法,在两周后自动删除文件。
我正在考虑使用我在网上找到的这个语法来创建一个 cron 作业。我的问题是它将哪一天视为第 0 天?在用户本地计算机上创建文件的那天,还是将文件复制到 Linux 机器的那天?
find /path/to/directory/* -mtime +t -exec rm {} \;
答案1
因为你的参数find
是-mtime
“文件数据最后修改于 n*24 小时前”根据文档find
,它将是文件上传到(或修改)您的 FTP 服务器的日期。
要确定合适的值,请+t
查看以下有关 find 如何四舍五入匹配时间的部分:
当 find 确定文件上次访问是在多少个 24 小时前时,
任何小数部分都会被忽略,因此为了匹配 -atime +1,文件必须至少在两天前被访问过。
答案2
考虑使用 -atime 选项而不是 -mtime。它将根据上次访问文件的时间进行查找。
答案3
答案4
find 将使用 Linux 机器上的 mtime。希望这是运行 FTP 服务器的主机。