你可以使用rsync命令来实现远程复制一个主机上的大目录到另一个主机,并显示进度和生成日志。下面是一个示例命令:
bash
rsync -av –progress –stats –log-file=/path/to/logfile.txt /path/to/source_directory username@remote_host:/path/to/destination_directory
-a: 以归档模式运行,保留文件属性并递归地复制目录。
-v: 详细输出,显示正在复制的文件。
–progress: 显示复制进度。
–stats: 在完成时显示复制统计信息。
–log-file=/path/to/logfile.txt: 将输出日志保存到指定文件中。
/path/to/source_directory: 要复制的源目录路径。
username@remote_host:/path/to/destination_directory: 目标主机的用户名和地址,以及复制到的目标目录路径。
请将上述命令中的/path/to/logfile.txt、/path/to/source_directory、username、remote_host和/path/to/destination_directory替换为你实际的路径和主机信息。这个命令将在远程主机上执行rsync命令,将源目录复制到目标主机,并显示进度并将日志写入指定的文件中。
————–
是的,rsync可以通过 -e 选项来指定使用的远程 shell 命令。通过指定 ssh 命令以及私钥文件路径,你可以在rsync中使用特定的私钥文件进行远程传输。
下面是一个示例命令,演示了如何在rsync中指定私钥文件:
bash
rsync -av -e “ssh -i /path/to/private_key” /path/to/source_directory username@remote_host:/path/to/destination_directory
在这个命令中:
-e “ssh -i /path/to/private_key”: 使用 -e 选项指定了要使用的远程 shell 命令,这里是使用了 SSH 并指定了私钥文件路径。
/path/to/private_key: 这是你的私钥文件的路径。确保替换为你实际的私钥文件路径。
其他部分与之前的rsync命令类似,包括源目录路径、远程用户名、目标主机和目标目录等。
通过这种方式,你可以在rsync命令中指定要使用的私钥文件,从而实现在两台 Linux 服务器之间进行远程传输并使用特定的私钥进行身份验证。