首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除7天以上FTP数据的脚本

删除7天以上FTP数据的脚本
EN

Server Fault用户
提问于 2016-11-08 13:37:24
回答 2查看 2.9K关注 0票数 1

目前,我正在使用以下简单的行脚本将服务器目录备份到远程FTP位置

代码语言:javascript
复制
# Take backup to remote location
ncftpput -z -R -uusername -ppassword ftp.example.org /destination/directory /source/directory

现在,我只需要从远程FTP中删除备份,它已经超过7天了。在服务器内的正常目录位置上,我只需使用以下简单的脚本即可完成

代码语言:javascript
复制
# Delete backups older than 7 days
find /backup -name '*' -type d -mtime +6 -exec rm -rfv "{}" \;

但是,运行同样的FTP不工作,有什么方法可以删除FTP远程位置数据超过7天?可以通过lftp或任何其他命令。

EN

回答 2

Server Fault用户

发布于 2016-11-12 14:50:22

有一个名为curlftpfs的FUSE文件系统,它允许您像普通文件系统一样挂载远程FTP站点,从而允许您运行find命令删除7天以上的文件。首先,通过运行apt-get install curlftpfsyum install curlftpfs或您的发行版的等效程序来安装包。

安装后,您可以像这样挂载远程ftp站点:

代码语言:javascript
复制
mkdir /tmp/ftp_mount
curlftpfs -o user=username:password ftp.example.org /tmp/ftp_mount

其中用户名和密码被您的实际用户名和密码所替换。现在只需将cd放入/tmp/ftp_挂载,然后运行find命令来删除旧文件。完成之后,cd离开文件系统并卸载它:

代码语言:javascript
复制
fusermount -u /tmp/ftp_mount

因为curlftpfs是一个FUSE文件系统,所以您可以作为任何用户这样做(您不需要根用户就可以工作)。

票数 3
EN

Server Fault用户

发布于 2016-11-08 14:09:00

似乎没有一种简单的方法可以使用FTP访问来完成您想要的事情。以下是一些可能有用的想法:

  • 如果适用的话,按日期组织/重命名目录。因此,您将知道要删除的目录名。
  • 在本地机器上保留相同目录/文件的精确副本。在本地机器上应用find获取要删除的文件列表,然后遍历所有文件以通过FTP删除它们。
  • 遍历目录结构以查找修改的时间,并决定是否删除此文件/文件夹。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/813800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档