所以我可以这样做: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在远程目录上应用。