ssh - 咕噜 watch : only upload files that have changed

标签 ssh gruntjs grunt-contrib-watch

related

我能够使用 grunt-ssh 设置 Grunt 任务,将 SFTP 文件发送到我的开发服务器。 :

sftp: {
    dev: {
        files: {
            './': ['**','!{node_modules,artifacts,sql,logs}/**'],
        },
        options: {
            path: '/path/to/project',
            privateKey: grunt.file.read(process.env.HOME+'/.ssh/id_rsa'),
            host: '111.111.111.111',
            port: 22,
            username: 'marksthebest',
        }
    }
},

但是,当我运行它时,它会上传所有内容。有数千个文件。每次修改文件都没有时间等他们一一上传。

我如何设置 watch 只上传我更改的文件,一旦我更改了它们?

(出于好奇,服务器是本地网络上的虚拟机。它在不同的操作系统上运行,并且设置比我的本地机器更类似于生产。如果我能正常工作,上传应该很快)

最佳答案

您需要的是grunt-newer , 一项专门设计用于根据刚刚更改的文件更新任何任务的配置的任务,然后运行它。示例配置可能如下所示:

watch: {
  all: {
    files: ['**','!{node_modules,artifacts,sql,logs}/**'],
    tasks: ['newer:sftp:dev']
  }
}

关于ssh - 咕噜 watch : only upload files that have changed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408090/

相关文章:

mysql - 无法从 Workbench 建立数据库 SSH 连接

git - 为什么flutter pub找不到我的github ssh-key?

node.js - 咕噜 watch : compile only one file not all

wordpress - Grunt watch livereload over MAMP Pro 虚拟主机和 ssl 返回错误 net::ERR_CONNECTION_CLOSED

ssh - 更改 jenkins 从属 DNS 条目

node.js - 为什么 grunt 不能通过 Bower.js 安装?

gruntjs - Grunt usemin 任务来替换资源

linux - 查找以 *.html 结尾但不以 *-partial.html 结尾的文件

node.js - Grunt-contrib-connect:如何在指定的浏览器中启动服务器

python - 如何在 Windows 子进程中通过 ssh 运行 git fetch