Forum: Rails-ES Palabra reservada

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Rolando R. (Guest)
on 2009-02-10 20:57
Hola, necesito saber si existe alguna palabra reservada, para ejecutar
un comando de windows, por ejemplo el mysqldump. La necesito para hacer
mis backups de mi base de datos desde mi aplicacion. Si alguien tiene la
respuesta, se lo agradecere mucho.
Albert C. (Guest)
on 2009-02-10 21:38
(Received via mailing list)
Puedes usar tanto system() como exec() como %x.

Para ver las diferencias entre cada uno mira el siguiente enlace

http://blog.jayfields.com/2006/06/ruby-kernel-syst...

2009/2/10 Rolando R. <removed_email_address@domain.invalid>
Rolando R. (Guest)
on 2009-02-11 17:30
Xarc Xarc wrote:
> Puedes usar tanto system() como exec() como %x.
>
> Para ver las diferencias entre cada uno mira el siguiente enlace
>
> http://blog.jayfields.com/2006/06/ruby-kernel-syst...
>
> 2009/2/10 Rolando R. <removed_email_address@domain.invalid>

Muchas gracias Xarc Xarc, lo probare en seguida. Luego te comento como
me fue
Rolando R. (Guest)
on 2009-02-18 04:38
Rolando R. wrote:
en mi controlador he colocado lo siguiente:
exec("cmd mysqldump --user=root --password=sistemas --opt mibase >
d:micopia.sql")
y si funciona, es decir si me crea la copia de seguridad. El proble es
que cada vez que se ejecuta, el servidor Webrick se detiene, como debo
hacer para que esto no pase..
Diego Fernandez (Guest)
on 2009-02-18 13:53
(Received via mailing list)
2009/2/18 Rolando R. <removed_email_address@domain.invalid>

> Rolando R. wrote:
> en mi controlador he colocado lo siguiente:
> exec("cmd mysqldump --user=root --password=sistemas --opt mibase >
> d:micopia.sql")
> y si funciona, es decir si me crea la copia de seguridad. El proble es
> que cada vez que se ejecuta, el servidor Webrick se detiene,


Kernel#exec remplaza el proceso actual por la orden pasada como
argumento,
es decir:

exec "ls"
puts "Being after an exec sucks" #esto no se ejecuta

Pero vamos, es lo que pone la documentación de Kernel#exec...


> como debo
> hacer para que esto no pase..


Quizás puedas usar Kernel#system [1]

[1] http://www.ruby-doc.org/core/classes/Kernel.html#M005982


--
Diego Fernández Fernández

http://simplelogica.net
Albert C. (Guest)
on 2009-02-19 09:21
(Received via mailing list)
La solución rapida sería usar el system y poner & al final del comando
para
que corra en background.
Hay alternativas como el BackgrounDRb, pero creo que si solo necesitas
eso
lo mas simple será lo que te he dicho.

On Wed, Feb 18, 2009 at 12:52 PM, Diego Fernandez <
This topic is locked and can not be replied to.