如何删除服务器上的文件不支持SSH。 只有sFTP

所以我可以这样做:sftp user @ server

这些是文件https://gist.github.com/438a6b82aff3064a19c9

我需要删除超过60天的文件。

任何方式来实现这个自动化?

find命令不起作用。 通过通配符删除不起作用。

Rsync支持。 它如何完成rsync?

作为上面更好的select的替代scheme,您可以使用通配符和本地date子分区来删除所有文件(使用lftp或其他)。

这是非常丑陋的,但它的作品:

我在60 999; 做lftp sftp:// user @ host -c“rm / path / to / website_production _ $(date -d”$ i days ago“+%m-%d-%Y)*”done

你可能想要设置它,所以你不必input密码。

在你的系统上安装sftp文件夹,如果你使用的是OS X,你可以使用Transmit来做到这一点或Linux(在这种情况下Ubuntu),你可以使用本指南http://blog.damontimm.com/how-to-mount- a-sftp-folder-ssh-ftp-on-ubuntu-linux-using-sshfs-fuse / 。

他们都使用FuSE,所以我敢打赌,它也适用于Windows,如果你查找它。 但是一旦你安装了它,你应该可以使用你的系统上原生的任何命令。

Rsync保护创builddate。 所以你可以rsync所有文件到你的电脑。 然后运行findselect60天以前的文件并删除它们。 并通过rsync将其上传。 或者只是在目的地删除它们。

编辑

本地目录的rsynctesting结果:

 rsync -av input/ tmp/ find tmp/* -mtime +10 -exec rm {} \; rsync --delete -av tmp/ input 

之后,目录./input/将从10天前修改的文件中删除。 这应该可以通过SFTP在远程目录上应用。