drush Invalid argument supplied for foreach() backend.inc:709
The cause of above error is that @sites is returning no sites. 

Try drush sa @sites too, and see what it says. 

Note, however, that @sites refers to all of the sites in a multisite install; it does not refer to all of the sites in your aliases.drushrc.php. If you rename your aliases file to foo.aliases.drushrc.php, then @foo will reference all of the aliases in that file.

Else check this as well: https://www.drupal.org/node/1031170

Reference:
https://www.drupal.org/node/161698