如果我在服务器 A 和服务器 B 上都有一个文件,即 /etc/file.cfg。我们如何检查服务器 A 上的文件是否比服务器 B 上的文件更新?
如果它在本地机器上,那么我们会使用 file1 -nt file2。
答案1
如果您有 ssh 访问权限,则可以尝试以下操作。请注意,没有错误检查,例如,如果远程文件不存在,则此操作将失败。
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
请注意,如果您不想每次都输入密码,您可以使用 ssh-copy-id 命令将您的公钥复制到远程服务器的 authorized_keys 文件。