Agora baixe o SJA para Linux no site: 
http://code.google.com/p/sqlyog/downloads/list 
Descompacte o tar.gz em uma pasta qualquer no 
Linux e dê uma olhada nos exemplos. Nesta mesma pasta crie um xml responsável por sincronizar os bancos de dados. Por exemplo:
 
<?xml version="1.0" encoding="UTF-8"?>
<job version="8.2">
<syncjob>
<fkcheck check="yes" />
<twowaysync twoway="no" />
 
<source>
   <host>127.0.0.1</host>
   <user>REMOTE_MYSQL_USER</user>
   <pwd>REMOTE_MYSQL_PASS</pwd>
   <port>PORT_TUNNEL</port>
   <database>REMOTE_MYSQL_DATABASE</database>
</source>
 
<target>
   <host>127.0.0.1</host>
   <user>LOCAL_MYSQL_USER</user>
   <pwd>LOCAL_MYSQL_PASS</pwd>
   <port>LOCAL_PORT_MYSQL</port>
   <database>LOCAL_MYSQL_DATABASE</database>
</target>
 
<tables all="yes"/>
<sync_action type="directsync" />
<abortonerror abort="yes" />
   <sendreport send="yes" when="always">
      <smtp>
         <displayname>MEU_NOME</displayname>
         <toemail>MEU_EMAIL@gmail.com</toemail>
         <fromemail>MEU_EMAIL@gmail.com</fromemail>
         <host>smtp.gmail.com</host>
         <encryption>tls</encryption>
         <port>25</port>
         <auth required="yes">
            <user>MEU_EMAIL@gmail.com</user>
            <pwd>MINHA_SENHA</pwd>
         </auth>
         <subject>yyyy-mm-dd hh:mm:ss</subject>
      </smtp>
   </sendreport>
</syncjob>
</job>
 
Em que:
-  REMOTE_MYSQL_USER e REMOTE_MYSQL_PASS: Usuário e senha MySQL do servidor.
-  PORT_TUNNEL: Porta que criamos anteriormente que servirá como tunelamento.
-  REMOTE_MYSQL_DATABASE: Nome do banco de dados que será sincronizado do servidor.
-  LOCAL_MYSQL_USER e LOCAL_MYSQL_PASS: Usuário e senha MySQL do cliente.
-  LOCAL_PORT_MYSQL: Porta MySQL do cliente (normalmente 3306).
-  LOCAL_MYSQL_DATABASE: Nome do banco de dados do cliente (Não precisa ser o mesmo nome que o servidor).
Note que os dois hosts estão como 127.0.0.1, pois como o tunelamento já está feito, acessamos o servidor como se estivéssemos na própria máquina.
Em <sendreport> coloquei para enviar um e-mail para mim (no caso pelo Gmail) toda vez que ocorrer a sincronização. Acho que a aplicação perde pontos neste quesito por exibir a senha sem criptografia, por exemplo, se sua senha for joaquim123, você terá que deixar lá joaquim123 para quem tiver o acesso ao arquivo ler, o ideal seria impor restrições de acesso ao arquivo. 
Em relação às outras tags, <fkcheck> checa a integridade das chaves estrangeiras (se realmente existem), <twowaysync> informa se a sincronização será unilateral ou bilateral, <abortonerror> faz com que o programa termine caso aconteça algum problema e a tag <tables> informa quais tabelas serão sincronizadas, no meu caso vou sincronizar todas. 
Existem mais tags, porém para descobri-las a única maneira é testar ou olhar nos exemplos, pois a documentação do SJA é praticamente nula.
Agora execute o seguinte comando e veja as tabelas sendo sincronizadas:
# ./sja meuxml.xml
 
Caso ocorra algum erro, ele será impresso na tela, e para ver detalhes a respeito do problema basta acessar o arquivo sja.log na mesma pasta que o SJA foi executo, a não ser que você tenha passado o nome do arquivo de log como parâmetro (-l logfile).
Outro fator importante a destacar é que na configuração do MySQL (/etc/mysql/my.conf) a diretiva bind-address = 127.0.0.1 não precisa estar comentada, pois o acesso é feito via SSH. Assim, o MySQL só pode ser acessado através do próprio servidor, tornando-o mais seguro.
Para efetuar a sincronização de tempos em tempos podemos utilizar o cron no Linux, ou o Task Scheduler do Windows. Testei nos dois sistemas operacionais e os dois funcionaram perfeitamente, portanto, não tem desculpa para não usar! =)