|
高士涛-学习日报 |
|||||||
|
姓名 |
高士涛 |
日期 |
2024/01/05 |
部门 |
云服务 |
导师 |
王晓明 |
|
学习工作内容 |
|||||||
|
rsync文件拷贝中断续传实验 |
|||||||
|
【实验目的】 1. 理解rsync同步命令的作用; 2. 掌握rsync命令基本使用方法; 3. 能够将rsync命令完成进度和状态保存到日志文件中; 4. 能够使用rsync命令实现文件拷贝过程中的中断续传。 【实验内容】 1. 准备好需要拷贝的文件
图1 2. 准备好文件接收端服务器的文件存放路径
图2 3. 使用rsync文件同步命令来进行文件的拷贝 rsync
-avz --progress --partial --log-file=/root/gst1/rsynclogfile.log file1.iso
file2.iso file3.iso root@192.168.126.136:/root/gst2/ 这里解释一下各个选项和命令的含义: rsync: 这是一个强大的文件同步工具,它可以继续中断的传输,并且只传输文件的不同部分。 -a: 归档模式,保留原文件的所有属性(如时间戳、权限等)。 -v: 详细输出模式,显示正在处理的文件信息。 -z: 压缩数据传输。 --progress: 在传输过程中显示进度。 --partial: 保留因故中断的文件部分,这样在下次传输时可以从断点处继续。 --log-file=/root/gst1/rsynclogfile.log: 指定日志文件,所有的输出(包括进度信息)都会被写入这个文件。 如果拷贝过程中因某种故障导致中断,你可以在恢复拷贝时使用相同的命令。由于我们使用了--partial选项,rsync会自动检测并继续未完成的传输。 注意:rsync的--progress选项并不会将详细的进度信息写入日志文件,它只在终端上显示进度。如果你需要在日志文件中记录详细的进度信息,可能需要配合使用其他工具或者编写脚本来实现。
图3 4. 在文件的拷贝过程中,可以看到实时拷贝进度和拷贝速率,如下图(图4)所示,可以看出file1.iso文件已拷贝完成,当前正在拷贝file2.iso文件。此时我们按键盘上的Ctrl+C键中断拷贝过程,模拟文件拷贝过程中的意外故障中断。
图4 5. 拷贝中断后,我们来到接收端服务器界面,查看文件拷贝完成的情况,如下图(图5)所示,可以看得出:file1.iso拷贝完成(文件大小=原文件大小),file2.iso文件只拷贝了一部分过来(文件占用空间大小<原文件大小),file3.iso文件还没开始拷贝。
图5 6. 回到文件拷贝发送端服务器界面,在日志文件rsynclogfile.log中可以看到前面拷贝文件执行的进度和状态。
图6 7. 再次执行rsync拷贝命令(命令与之前完全一样),可以从拷贝进度中看出:拷贝动作是从上次中断的地方开始,继续拷贝未完成的部分,而非重新从头开始拷贝。
图7 8. 等待所有剩余部分拷贝完成,如下图(图8)所示。
图8 9. 拷贝完成后,再次查看日志文件rsynclogfile.log中的内容,可以看到拷贝已完成的文件的记录。
图9 10.
来到文件接收服务器界面,再次查看文件拷贝完成情况,可以看出所有文件都已拷贝完成。
图10 11.
日志含义分析:因中断发生在拷贝file2.iso过程中,然后又从中断处开始继续拷贝,我们可以从日志中看到<f.st…… file2.iso字样。使用man rsync命令查看rsync命令帮助手册,可以大致理解<f.st…… file2.iso的意思为“重新开始拷贝时文件的状态与上次中断时的状态一致,文件属性没有发生变化,可以继续拷贝未完成的部分”。
图11 |
|||||||
|
遗留问题 |
|||||||
|
|
|||||||
|
明日计划 |
|||||||
|
继续深入学习 |
|||||||