在Linux中,rsync是一个非常强大的文件同步工具,它可以用来在本地或者远程之间同步文件和目录。以下是使用rsync进行文件同步的基本步骤:
rsync [选项] 源 目标
-v:详细模式,显示同步过程中的信息。-r:递归同步目录及其子目录。-a:归档模式,保留符号链接、文件权限、时间戳、用户和组信息。-z:压缩文件数据在传输过程中。-h:人类可读的输出格式。--delete:删除目标目录中源目录不存在的文件。--progress:显示文件传输的进度信息。-P:等同于--partial --progress,保留部分传输的文件,并显示进度。假设你想将本地目录/home/user/source同步到/home/user/destination:
rsync -avzh /home/user/source/ /home/user/destination/
如果你想将本地目录同步到远程服务器上的某个目录,可以使用-e选项指定SSH:
rsync -avzh -e ssh /home/user/source/ user@remotehost:/home/user/destination/
相反,如果你想从远程服务器同步文件到本地:
rsync -avzh -e ssh user@remotehost:/home/user/source/ /home/user/destination/
如果你想在同步的同时删除目标目录中源目录不存在的文件,可以使用--delete选项:
rsync -avzh --delete /home/user/source/ /home/user/destination/
/是有区别的。例如,/home/user/source/表示同步source目录下的内容,而/home/user/source表示同步整个source目录。rsync时,最好先使用-n(或--dry-run)选项进行测试,这样不会实际执行同步操作,只会显示将会执行的操作:rsync -avnzh /home/user/source/ /home/user/destination/
通过这些基本步骤和选项,你可以灵活地使用rsync来同步文件和目录。根据你的具体需求,你可能需要组合使用不同的选项来达到最佳效果。