我试图设置一个SFTP服务器,运行Ubuntu Server 11.04。 我安装了openssh-server来提供SSH访问。 我想要做的是使file upload运行一个后缀(。文件或任何),这将在传输完成后被删除。
stream程的想法是:
cat.jpg
cat.jpg.filepart
cat.jpg
以前的cat.jpg
(如果有)并将cat.jpg.filepart
重命名为cat.jpg
这是为了确保不完整的file upload不会覆盖现有的文件。 任何想法如何我可以做到这一点?
谢谢
ProFTPD可以通过mod_sftp模块支持SFTP, 并且可以完成你用HiddenStores
指令描述的HiddenStores
。 FTP和SFTP上传都支持该function。
充分披露: 我是ProFTPD和mod_sftp的作者 。
OpenSSH服务器不支持这个。
WinSCP SFTP客户端可以从客户端做到这一点,如果有帮助。
请参阅https://winscp.net/eng/docs/resume#automatic
默认情况下,仅使用.filepart
后缀超过100 KB的文件,但您可以将其configuration为将其用于任何文件。
请参阅https://winscp.net/eng/docs/ui_pref_resume
(我是WinSCP的作者)
使用rsync(通过SSH)。 它的目的是不破坏现有的文件,如果复制失败的一半。
如果你能够编写Perl,你可以在Net :: SFTP :: Server / Net :: SFTP :: Server :: FS之上编写自定义的SFTP服务器。
更新 :请参阅sftp-server-atomic-put.pl