rsync
是一个强大的文件同步工具,但在同步过程中可能会遇到中断的情况
rsync
的日志文件来找到中断的任务。日志文件通常位于 /var/log/rsyncd/
目录下,文件名类似于 rsyncd.log
。你也可以使用以下命令查看最近的日志条目:tail -n 50 /var/log/rsyncd/rsyncd.log
[2021/06/01 12:34:56] connecting to [source_host]:873
[2021/06/01 12:34:56] starting backup to [destination_host]:/path/to/destination
cpio
或 tar
工具从最近的备份中恢复中断的同步。假设你在日志中找到了最近的一次同步时间,例如 [2021/06/01 12:34:56]
,你可以使用以下命令创建一个包含该时间点之后所有更改的归档文件:find /path/to/source -newer "2021/06/01 12:34:56" | cpio -o > backup.cpio
或者,如果你使用的是 tar
:
find /path/to/source -newer "2021/06/01 12:34:56" | tar czvf backup.tar.gz -C /path/to/source .
rsync
将其恢复到目标目录。首先,将归档文件传输到目标主机:scp backup.cpio [destination_host]:/path/to/destination/
或者,如果你使用的是 tar
:
scp backup.tar.gz [destination_host]:/path/to/destination/
接下来,在目标主机上,使用 rsync
将归档文件中的更改应用到目标目录:
rsync -avz --delete /path/to/destination/backup.cpio /path/to/destination/
或者,如果你使用的是 tar
:
rsync -avz --delete /path/to/destination/backup.tar.gz /path/to/destination/
rm /path/to/destination/backup.cpio
或者,如果你使用的是 tar
:
rm /path/to/destination/backup.tar.gz
现在,你已经成功恢复了中断的 rsync
同步。