将任务打包到SSH,然后再打包到mysqldump

将任务打包到SSH,然后再打包到mysqldump,ssh,gulp,devops,Ssh,Gulp,Devops,所以我有一个场景,我有单独的Web服务器和MySQL服务器,我只能从Web服务器连接到MySQL服务器 所以基本上每次我都要这样做: 步骤1:'ssh-i~/somecert.pemubuntu@1.2.3.4" 步骤2:'mysqldump-u root-p'password'-h6.7.8.9 database_name>output.sql' 我是gulp新手,我的目标是创建一个可以自动化所有这些的任务,因此运行一个gulp任务将自动为我提供SQL文件 这将使开发人员的生活更加轻松,因

所以我有一个场景,我有单独的Web服务器和MySQL服务器,我只能从Web服务器连接到MySQL服务器

所以基本上每次我都要这样做:

  • 步骤1:'ssh-i~/somecert.pemubuntu@1.2.3.4"
  • 步骤2:'mysqldump-u root-p'password'-h6.7.8.9 database_name>output.sql'
我是gulp新手,我的目标是创建一个可以自动化所有这些的任务,因此运行一个gulp任务将自动为我提供SQL文件

这将使开发人员的生活更加轻松,因为只需一个命令即可下载最新的db转储文件

这就是我到目前为止所取得的进展(gulpfile.js):

SSH进入web服务器运行正常,但我在尝试获取mysqldump时遇到问题,我收到以下消息:

events.js:85
  throw er; // Unhandled 'error' event
        ^
Error: Warning: 
如果我从服务器SSH手动尝试相同的mysqldump命令,我会得到:

Warning: mysqldump: unknown variable 'loose-local-infile=1'
然后是正确的mylsql转储信息

所以我认为这个警告信息把我的脚本搞乱了,我想在这种情况下忽略警告,但不知道怎么做或者是否可能

我还了解到,直接在命令行中使用密码并不是很好的做法

理想情况下,我希望从另一个文件中加载所有配置变量,但这是我的第一个吞咽任务,我并不太熟悉如何完成这项任务

有吞咽经验的人能告诉我一个好方法来完成这件事吗?或者你认为我根本不应该用大口喝这个


谢谢

正如我所怀疑的,该警告消息阻止了gulp任务的完成,我通过注释
/etc/mysql/my.cnf中的:
loose local infle=1
将其删除

Warning: mysqldump: unknown variable 'loose-local-infile=1'