我用 sh 去部署 dist 文件到服務器,但可以選擇要不要包含文件如視頻、圖片?

发布于 2022-09-13 00:20:48 字数 245 浏览 27 评论 0

我在本地 build 後產生的 dist 文件

加了個 sh 然後直接下 command

scp -r dist/* root@xxx.xxx.xxx.xxx:/var/www/prod/

直接丟到服務器
但是每次下 command 都會把 dist 都再跑一遍
大部分視頻、圖片其實已經在服務器上面了
有辦法有效的略過嗎?
可以選擇性略過 img 和 media 文件夾內的東西?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

用心笑 2022-09-20 00:20:48

scp没有这种功能,rsync有--exclude参数可以指定要排除的文件.

参考命令:

# scp -r dist/* root@xxx.xxx.xxx.xxx:/var/www/prod/
rsync -aP --exclude '*.jpg' --exclude '*.png' --exclude '*.mp4' --exclude '*.avi' dist/ root@xxx.xxx.xxx.xxx:/var/www/prod/
谈下烟灰 2022-09-20 00:20:48
  1. 采用rsync来同步是可以排除的。
  2. 如果采用scp,可以细化,分成多个scp,比如

    scp -r dist/path1/* root@xxx.xxx.xxx.xxx:/var/www/prod/path1/
    scp -r dist/path2/* root@xxx.xxx.xxx.xxx:/var/www/prod/path2/
    ...
    dist/pathN/* root@xxx.xxx.xxx.xxx:/var/www/prod/pathN/

    因为你的脚本只写一次而运行很多次,所以详列也是可以的。

っ〆星空下的拥抱 2022-09-20 00:20:48

rsync 增量复制(同步)
只复制(同步)有变化的(新的 新修改 新创建)

一个rsync相当于scp,cp,rm,ls但是还优于他们每一个命令。

https://blog.csdn.net/weixin_...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文