Lftp --newer-than 正在下载空目录

Lftp --newer-than 正在下载空目录

我正在尝试使用 lftp 将新文件从远程 sftp 服务器下载到本地服务器

这就是我正在做的事情:

lftp sftp://user@remoteserver

然后进入目录:

mirror --newer-than=now-1day --verbose

它会下载新文件(YaY!),但它也会下载父目录的每个子目录。虽然没有文件,但只有目录名称:

Transferring file `secret.pdf'
Transferring file `secret 2.pdf'                                    
Making directory `Created'                                                                           
Making directory `old 2019'                                                  
Making directory `backups of data'                                                                    
Making directory `to test'                                                  
Total: 4 directories, 43 files, 0 symlinks                                                 
New: 2 files, 0 symlinks
7019832 bytes transferred in 28 seconds (246.6 KiB/s)
To be removed: 0 directories, 1 file, 0 symlinks

而且这些目录并不是新的,它们已经在那里好几个月了,正如ls我所料

drwxrwxr-x    2 user    user        4096 Apr  8 00:28 Created

当然,我可以使用它--no-empty-dirs,它只会下载新文件,摆脱空目录,但为什么会发生这种情况呢?

答案1

因为--newer-than只影响文件。所以当lftp在服务器上找到本地不存在的文件夹时,它会创建本地镜像。只有这样它才会进入文件夹并搜索文件。它找不到符合您条件的文件。没有下载任何内容,您得到的是空文件夹。

--no-empty-dirs或修改行为mirror:no-empty-dirs,以便仅在真正需要下载某些文件时才创建本地文件夹。

相关内容