我在服务器1上有两个文件file1
,在服务器2上有file2
。
现在我想编写一个脚本,将file2
(从服务器2)的内容追加到file1
(在服务器1上),即不覆盖原始内容。
如何使用shell脚本(使用Ubuntu Linux)执行此操作?
答案 0 :(得分:5)
ssh server2 "cat /path/to/file2" | ssh server1 "cat >> /path/to/file1"
如果最小化网络流量是一个问题,请使用棘手的报价版本:
ssh server2 'cat /path/to/file2 | ssh server1 "cat >> /path/to/file2"'
第一个版本将文件传输到本地主机,然后传输到server1
。第二个版本将文件直接从server2
传输到server1
。 (如果任一文件路径包含空格,则引用会变得更加棘手。)