使用lftp mirror命令仅上传本地dist文件夹内文件而非文件夹本身的问题
lftp mirror命令仅上传本地dist文件夹内文件而非文件夹本身的问题
嘿,我来帮你搞定这个同步的小问题!你现在的脚本确实能正常工作,但会把本地的dist文件夹整个传到远程的remote-folder目录下,而你想要的是把dist里面的所有内容直接放到remote-folder里,对吧?
你之前尝试用mirror -R -e -v -n ./dist/* ./报错是因为lftp的mirror命令不支持用通配符*来指定文件,它需要的是明确的目录路径。
其实解决方法超简单,只需要在本地目录路径./dist后面加上一个斜杠/就行!修改后的mirror命令应该是这样的:
mirror -R -e -v -n ./dist/ ./;
这个斜杠的作用是告诉mirror命令:我要同步的是这个目录内部的所有内容,而不是目录本身。
修改后的完整脚本如下:
lftp -c " set ftp:ssl-force true; set ssl:verify-certificate false; open -u $FTP_USER,$FTP_PASS $FTP_HOST; cd remote-folder; mirror -R -e -v -n ./dist/ ./; "
这样运行之后,本地dist文件夹里的所有文件和子目录就会直接同步到远程的remote-folder目录下,而不会额外创建一个dist文件夹啦。
备注:内容来源于stack exchange,提问作者Manuel Simões
相关产品推荐
相关产品推荐

