When I call mysqldump
from a controller or model I need to fully path the binary, when I call it from Rake I don't need to.
If I do not fully path I get a zero byte file...
I can confirm both processes are run using the same user.
# Works in a controller, model and Rake task
system "/usr/local/mysql/bin/mysqldump -u root #{w.database_name} > #{target_file}"
# Only works in a Rake task
system "mysqldump -u root #{w.database_name} > #{target_file}"
If I call the Rake task from the action it also fails (zero byte file).
OS: Mac Ruby 1.8.6
EDIT: I use Etc.getpwuid(Process.uid).name
to get the User of the current process