Verifique a modificação do arquivo em dois servidores

1

Se eu tiver um arquivo, ou seja, /etc/file.cfg no servidor A e no servidor B. Como podemos verificar se o arquivo no Servidor A é mais novo que o arquivo no servidor B?

Se estivesse em uma máquina local, teríamos usado o arquivo1 -nt arquivo2.

    
por Iliyas 22.12.2011 / 15:51

1 resposta

3

Se você tiver acesso ssh, pode tentar algo como abaixo. Observe que não há verificação de erros, por exemplo, se arquivos remotos não existirem, isso falhará.

REMOTE_TIME_1=$(ssh user@remote "ls -l --time-style=+%s remote_file  | cut -d ' ' -f 6")
REMOTE_TIME_2=$(ssh user@remote "ls -l --time-style=+%s remote_file  | cut -d ' ' -f 6")
if (( REMOTE_TIME_1 > REMOTE_TIME_2 )); 
then 
    echo first file is older
else
    echo second file is older
fi

Observe que, se você não quiser digitar a senha toda vez, poderá usar o comando ssh-copy-id para copiar sua chave pública para os arquivos authorized_keys do servidor remoto.

    
por 22.12.2011 / 16:11