首页 > 解决方案 > 用于从 FTP 目录中删除超过 30 天的文件的 shell/bash 脚本

问题描述

我需要 shell 脚本从 FTP 服务器目录中删除所有超过 30 天的文件。我需要从 5 个不同目录中删除超过 30 天的文件,不应该删除这些目录,因为它们可能有其他文件,只需要删除超过 30 天的文件。这是我第一次使用 shell 脚本。尝试以下链接没有运气。谁可以帮我这个事。

FTP 删除超过 X 天的目录

下面是我在 .sh 文件中使用的代码,但我面临无效命令错误

ftp -inv $HOST <<EOS
user $ftp_user $ftp_pass
find /path/somefolder/ -type f -iname '*' -mtime +30 -exec rm {} \;
quit
EOS

如果文件较旧,则需要检查文件是否超过 30 天,将其从目录中删除。

标签: bashshellftp

解决方案


创建一个检查每个文件并获取文件创建日期的循环,如果文件超过 30 天,请删除它。如果循环迭代器是目录文件计数,请检查下一个路径。


推荐阅读