以下是一个用于比较两个服务器上的 TXT 文件是否一致的 shell 脚本示例:
#!/bin/bash
# 服务器1信息
server1="user@server1"
server1_directory="/path/to/files"
# 服务器2信息
server2="user@server2"
server2_directory="/path/to/files"
# 要比较的文件名
file_name="file.txt"
# 在服务器1上计算文件的 md5 值
server1_md5=$(ssh "$server1" "md5sum $server1_directory/$file_name" | awk '{print $1}')
echo "在服务器1上的 MD5 值: $server1_md5"
# 在服务器2上计算文件的 md5 值
server2_md5=$(ssh "$server2" "md5sum $server2_directory/$file_name" | awk '{print $1}')
echo "在服务器2上的 MD5 值: $server2_md5"
# 比较两个 md5 值
if [ "$server1_md5" = "$server2_md5" ]; then
echo "文件一致"
else
echo "文件不一致"
fi
在上述示例中,我们首先定义了两个服务器的信息(server1
和 server2
)以及要比较的文件名(file_name
)。然后,我们在服务器1上使用 SSH 连接执行命令 md5sum
计算文件的 md5 值,以获取文件在服务器1上的 MD5 值 server1_md5
。接着,我们在服务器2上执行同样的操作,获取文件在服务器2上的 MD5 值 server2_md5
。最后,我们比较这两个 MD5 值,如果相等则表示文件一致,否则表示文件不一致。
请注意,为了正常运行该脚本,确保您已在本地机器上配置了 SSH 公钥,并且能够正确连接到服务器。如果服务器需要密码验证,您可能需要修改脚本,添加密码参数或使用其他认证方法。另外,还需要根据实际情况修改服务器的地址、文件路径以及所需的命令(如 md5sum
)和处理方法。