如何使用 lftp 删除除 cgi-bin 和 .ftpquota 之外的所有文件

How to delete all files with lftp except for cgi-bin and .ftpquota

我正在 gitlab 上设置一个新的 ci/cd 管道。对于部署,我必须 运行 npm run build,然后通过 ftp(使用 lftp)将 dist/ 文件夹复制到网络服务器。为确保干净部署,脚本应首先删除网络服务器上除文件夹 cgi-bin 和文件 .ftpquota 之外的所有文件,然后复制文件。

我通过网络进行了研究,但没有找到合适的解决方案。使用标志 --delete,lftp 删除所有文件。

到目前为止我的脚本是这样的:

- lftp -c "set ftp:ssl-allow no; open -u $USERNAME,$PASSWORD $HOST; mirror -Rnev dist/ ./ --ignore-time --delete --parallel=10 --exclude-glob .git* --exclude .git/"

我当前的脚本删除了所有文件,但我希望它删除除 cgi-bin 文件夹和 .ftpquota 文件之外的所有文件。

unix.stackexchange.com 中所示,您应该添加 -x 选项:

请查收