A melhor solução seria instalar NTP em ambas as máquinas e sincronizá-las com o mesmo servidor. Isso não é uma opção, é claro, se você tiver apenas root
de acesso a um dos dois.
Supondo que você tenha acesso ssh às duas máquinas, esse machine1
é aquele cuja data você não pode mudar e machine2
aquele cuja data você pode alterar (como o usuário root
), você pode fazer algo assim:
remote_time='ssh user@machine1 date' && date -s $remote_time
Você precisará alterar user
para seu nome de usuário em machine1
. Se você executar este comando quando estiver logado como root
on machine2
, você definirá sua data com o mesmo valor que machine1
.
EXPLICAÇÃO:
O comando acima irá ssh
como usuário user
to machine1
e salvará o resultado de date
(a hora e a data atuais para machine1
) na variável $remote_time
. Se o ssh
sair com sucesso ( &&
), a segunda parte do comando definirá o tempo de machine2
(a máquina da qual o comando foi executado) para o valor de $remote_time
.
CAVEAT: Os dois comandos levam algum tempo para serem concluídos. Quando eu os testei na minha máquina, eles demoraram 0,3 segundos, poderia demorar mais no seu. Esteja ciente de que, se você precisar de precisão em milissegundos, isso não funcionará. Então, novamente, se você precisar de milissegundos de precisão, a coisa somente que funcionará é a sincronização de ambas as máquinas para um servidor NTP.