在我的本地方框"machineA"
上,我有两个文件夹"/primary"
和"/secondary"
。这两个文件夹中包含一些文件。现在在远程服务器"machineB"
上,我有一个包含大量文件的文件夹"/bat/snap/"
。
"/primary"
中"/secondary"
和"machineA"
个文件夹中的所有文件都应该位于此目录"machineB"
的{{1}}远程服务器中。现在,我需要将本地框"/bat/snap/"
上的"/primary"
和"/secondary"
文件夹中的所有文件的校验和与此目录"machineA"
中的远程服务器进行比较。如果校验和中存在任何不匹配,那么我想报告"/bat/snap/"
中存在问题的所有文件。
我写了一个我在"machineA"
上运行的命令,但它给了我一个错误:
machineA
下面是我得到的错误,之后我停止了上面的命令。我检查了两个服务器,我可以看到这个文件存在,那么错误呢?
find /primary/ /secondary/ -type f | xargs md5sum | ssh machineB '(cd /bat/snap/ && md5sum -c)' | egrep -v 'OK$'
答案 0 :(得分:1)
我认为它与机器B中处理的文件名中包含的机器A的多个路径有关...以下命令并不漂亮但对我有用,希望它有所帮助。
find /primary/ /secondary/ -type f | xargs md5sum | awk -F'/' '{print "echo "$1 $NF " | ssh user@machineB \"(cd /bat/snap/ && md5sum -c)\""}' | bash