При использовании Grails 2.4.5 org.codehaus.groovy.runtime.ProcessGroovyMethods на Ubuntu 14.04:Плохой результат от ProcessGroovyMethods в Groovy (UNIXProcess)
def command = "mysqldump -h${databaseProperties.host} -u'${databaseProperties.username}' -p'${databaseProperties.password}' ${databaseProperties.name} " + table
print command
def proc = command.execute()
def oneMinute = 60000
proc.waitForOrKill(oneMinute)
if(proc.exitValue()!=0){
println "[[return code: ${proc.exitValue()}]]"
println "[[stderr: ${proc.err.text}]]"
return null
}else{
return proc.in.text.readLines()
}
У меня
[[return code: 2]]
[[stderr: mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect]]
, но когда я скопировать-вставить printlined команду в мой баш я получаю правильный сброс. Что происходит?
Я также попытался:
изменение туздЫшпра на полный путь: /USR/бен/туздЫшпр
посылая аргументы как массив строк, но с такой же результат.
посылая команду в обычную строку для выполнения:
"mysqldump -hlocalhost -u'root' -p'password' database table"
он работает в системе Баш, это не как ProcessGroovyMethod ...
ли вы попробовать без лишних "убегает? _ "mysqldump -h $ {databaseProperties.host} -u $ {databaseProperties.username} -p $ {databaseProperties.password} $ {databaseProperties.name}" + table_ – Jayan