A abordagem mais simples em que consigo pensar é
$ date; ssh user@server date
Fri May 2 13:45:28 EEST 2014
Fri May 2 13:45:30 EEST 2014
O primeiro date
imprimirá a data / hora atual do seu sistema. O segundo se conectará ao seu servidor por ssh ( ssh user@server
) e executará o comando date
no servidor. Supondo que o cliente e o servidor estejam sincronizados com o mesmo servidor NTP e tenham o mesmo tempo, isso permitirá que você veja a diferença de horário. Observe que isso não será 100% preciso, pois haverá um pequeno atraso causado pelo lançamento do comando ssh
, mas estamos falando de milissegundos, então duvido que isso faça diferença.
Se você precisar de maior precisão, use algo assim que mostrará os nanossegundos:
$ date +%T:%N; ssh user@server date +%T:%N
13:47:21:739912080
13:47:23:774238647
Você também pode usar o sinalizador detalhado para ssh
( -v
), que informará a velocidade de transferência. Isso leva em conta apenas o tempo após a conexão ter sido estabelecida e não a sobrecarga necessária para se conectar em primeiro lugar:
$ ssh -v user@server exit 2>&1 | grep second
Transferred: sent 3272, received 1920 bytes, in 0.5 seconds
Bytes per second: sent 6556.2, received 3847.1
O comando acima se conecta ao servidor e simplesmente executa exit
para encerrar a conexão novamente. 2>&1
redireciona o erro padrão para a saída padrão, o que nos permite grep
para "segundo" e obter as estatísticas.