bash - 用于从 FTP 目录中删除超过 30 天的文件的 shell/bash 脚本
问题描述
我需要 shell 脚本从 FTP 服务器目录中删除所有超过 30 天的文件。我需要从 5 个不同目录中删除超过 30 天的文件,不应该删除这些目录,因为它们可能有其他文件,只需要删除超过 30 天的文件。这是我第一次使用 shell 脚本。尝试以下链接没有运气。谁可以帮我这个事。
下面是我在 .sh 文件中使用的代码,但我面临无效命令错误
ftp -inv $HOST <<EOS
user $ftp_user $ftp_pass
find /path/somefolder/ -type f -iname '*' -mtime +30 -exec rm {} \;
quit
EOS
如果文件较旧,则需要检查文件是否超过 30 天,将其从目录中删除。
解决方案
创建一个检查每个文件并获取文件创建日期的循环,如果文件超过 30 天,请删除它。如果循环迭代器是目录文件计数,请检查下一个路径。
推荐阅读
- sql-server - 如何将连接的 SQL Server 数据库添加到解决方案文件夹?
- c# - 连接两个数据表后检查特定列中的重复项
- javascript - Jquery,搜索并显示隐藏的div
- api - WSO2 API Manger Analytics:分析平台是否支持第三方 API 进行监控?
- nearprotocol - 我们可以在 NEAR 中返回一个 `AccountID` 数组吗?
- python - 使用mpld3时如何修复ndarray类型的对象不是JSON可序列化的?
- firebase - 使用 Provider Flutter 进行身份验证 Firebase
- excel - VBA 定义范围与 Cells() 错误 1004
- python - 使用 Python 更改下载的文件扩展名
- sql - MS-Access:两张表,一张有预填充数据,一张用于用户输入