If your backups on EngineYard cloud are zero length, maybe it is a permissions problem.

We have a client that uses EngineYard cloud and has more than one application hitting the same database.

As part of this, he needs access, and it turns out that some of the views and tables were not owned by the deploy user.

This causes the eybackup to backup a file that is zero length and push it to the S3 backup but still return successfully. This is a problem because a cursory examination shows the backups are working all fine.

While EngineYard go about fixing this, the solution is simple, just make sure the owner of all the tables in the system belong to the deploy user, or alternatively make sure the deploy user can read all the tables in the database.

If you are using postgres you can do this with a simple SQL command:

psql> ALTER TABLE <table name> OWNER TO deploy;

MySQL has a similar simple command to handle this issue.