How to run drush with cron (elysia cron)?
It would probably be easier to use --root and --uri instead of @main.  Drush loads aliases on a per-user basis; the user you are testing drush @main elysia-cron probably has the @main alias defined in an alias file in ~/.drush.  You'd need to either move your aliases to a global location, or perhaps copy your alias file to the www-data user's .drush folder.