高士涛-学习日报

姓名

高士涛

日期

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

 

遗留问题

 

明日计划

继续深入学习