Synchronize drupal installations with drush

Drush allows to easily synchronize drupal installations, from files to databases, with a simple drush command.

For that you need a php file  in ~/.drush or in your site /sites/all/drush directory to tell drush how to access your sites.

That's a simple example file (I have moved my sites directory to /home/user/www): <?php (//local environment) $aliases['sitename.local'] = array( 'uri' => 'localhost/sitename', 'root' => '/home/user/www/sitename/', 'path-aliases' => array( '%files' => 'sites/default/files', ), ); (//and in my case a 1and1 hosting) $aliases['sitename.remote'] = array( 'uri' => 'hosturl/sitename', 'remote-host' => 'hostdirection', 'remote-user' => 'sshuser', 'root' => '/kunden/homepages/xx/xxx/htdocs/sitename/', 'path-aliases' => array( '%files' => 'sites/default/files', ), ); You will need to setup a ssh key to access remotely your host. To test that it works:
drush @sitename.remote status
You can then sync your databases as follows: drush sql-sync @sitename.remote @sitename.local (from remote to local) ?>