linux下rsync命令详解
-
rsync是Linux系统下一个强大的文件同步和备份工具。它可以在本地或远程主机之间进行快速、安全的文件传输和备份。下面我将详细介绍rsync命令的使用及其常见用法。
1.基本语法:
rsync [OPTION] SOURCE DEST其中,SOURCE表示源文件或目录,DEST表示目标文件或目录。
2.常用选项:
-av:以归档模式传输文件,保留文件的所有属性、权限和时间戳。
-r:递归复制目录和子目录。
-z:压缩传输文件,可以加快传输速度。
–delete:删除目标目录中不在源目录中的文件。
–exclude:排除指定文件或目录不进行传输。
-e:指定远程主机的SSH登录身份验证。
–progress:显示传输进度信息。3.常见用法:
3.1本地文件同步:
rsync -av SOURCE DEST例如,将本地目录A同步到本地目录B:
rsync -av /path/to/dirA/ /path/to/dirB/3.2本地到远程主机的文件传输:
rsync -av SOURCE username@remote_host:DEST例如,将本地目录A传输到远程主机B的目录C:
rsync -av /path/to/dirA/ username@remote_host:/path/to/dirB/3.3远程主机到本地的文件传输:
rsync -av username@remote_host:SOURCE DEST例如,将远程主机B的目录C传输到本地目录D:
rsync -av username@remote_host:/path/to/dirB/ /path/to/dirD/3.4远程主机之间的文件传输:
rsync -av username@remote_hostA:SOURCE username@remote_hostB:DEST例如,将远程主机A的目录C传输到远程主机B的目录D:
rsync -av username@remote_hostA:/path/to/dirC/ username@remote_hostB:/path/to/dirD/4.其他常见功能:
4.1跳过特定目录或文件:
rsync -av –exclude ‘dir_name’ SOURCE DEST例如,排除目录A和文件B,将源目录C传输到目标目录D:
rsync -av –exclude ‘dirA’ –exclude ‘fileB’ /path/to/dirC/ /path/to/dirD/4.2删除目标目录中不存在的文件:
rsync -av –delete SOURCE DEST例如,将源目录A同步到目标目录B,并删除目标目录B中不存在于源目录A中的文件:
rsync -av –delete /path/to/dirA/ /path/to/dirB/以上就是对rsync命令的详细介绍和常见用法。通过rsync命令,我们可以方便地进行文件同步和备份操作,提高工作效率,确保文件的安全性。
2年前 -
rsync是一个常用的用于文件同步和备份的工具,在Linux系统下非常流行。下面是rsync命令的详解:
1. 语法和基本用法:
rsync的基本语法是:
rsync [选项] 源文件/目录 目标文件/目录例如,要将本地的/home/user/files目录同步到远程服务器的/var/backup目录下,可以使用以下命令:
rsync -avz /home/user/files myuser@remoteserver:/var/backup-a:以归档模式进行同步,保留文件属性、权限和链接。
-v:显示详细的同步过程。
-z:使用压缩模式传输数据,减少网络带宽的消耗。2. 同步本地文件和目录:
使用rsync命令可以方便地同步本地文件和目录。可以指定多个源文件/目录,以及一个目标文件/目录。例如,要将本地的/home/user/files目录同步到本地的/tmp目录下,可以使用以下命令:
rsync -av /home/user/files /tmp3. 同步本地文件到远程服务器:
rsync可以轻松地将本地文件同步到远程服务器上。需要指定远程服务器的地址和登录用户名。例如,要将本地的/home/user/files目录同步到远程服务器的/var/backup目录下,可以使用以下命令:
rsync -av /home/user/files myuser@remoteserver:/var/backup4. 同步远程服务器文件到本地:
rsync也可以将远程服务器上的文件同步到本地。同样需要指定远程服务器的地址和登录用户名。例如,要将远程服务器myuser@remoteserver:/var/backup目录下的文件同步到本地的/tmp目录下,可以使用以下命令:
rsync -av myuser@remoteserver:/var/backup /tmp5. 使用排除规则:
rsync命令可以使用排除规则来过滤不需要同步的文件和目录。可以使用”–exclude”参数指定要排除的文件/目录的模式。例如,要将本地的/home/user/files目录同步到远程服务器的/var/backup目录下,排除掉所有以“.log”结尾的文件,可以使用以下命令:
rsync -av –exclude “*.log” /home/user/files myuser@remoteserver:/var/backup总结:
rsync是一个非常强大的文件同步和备份工具,可以简化文件同步的操作。通过使用合适的选项和参数,可以实现本地文件和目录的同步、本地文件到远程服务器的同步、远程服务器文件到本地的同步,并且可以使用排除规则来过滤需要同步的文件和目录。2年前 -
一、rsync命令简介
rsync是一个用于在本地或远程系统之间同步文件和目录的强大工具。它可以通过使用特殊的算法,有效地传输和同步文件,以节省带宽和时间。rsync工具具有以下特点:
1. 支持通过网络传输文件:rsync可以通过本地网络或互联网传输文件,可以在局域网内或跨越不同的网络进行文件同步。
2. 仅传输修改的部分文件:rsync使用增量文件传输算法,只传输文件中发生修改的部分,从而大大提高传输效率。
3. 支持文件和目录同步:rsync不仅可以同步文件,还可以同步目录,保持源目录和目标目录的完全一致。
4. 支持需要认证的远程同步:rsync支持通过SSH进行远程认证,保证传输的数据的安全性。
5. 提供多种传输方式:rsync支持使用SSH、RSH或直接使用socket的方式进行数据传输,具有灵活性。二、rsync命令的基本用法
rsync命令的基本用法为:
rsync [OPTION]… SRC [SRC]… DEST其中,SRC是源文件或目录,DEST是目标文件或目录,OPTION是rsync命令的选项。
1. 拷贝本地文件到本地目录
rsync命令可以用于拷贝本地文件到本地目录,格式为:
rsync [OPTION]… SRC [SRC]… DEST例如,将文件file1.txt和file2.txt拷贝到目录dir2中,可以使用以下命令:
rsync -av file1.txt file2.txt dir2/其中,-a表示使用归档模式进行拷贝,-v表示显示详细的拷贝过程。
2. 拷贝本地目录到本地目录
rsync命令还可以用于拷贝本地目录到本地目录,格式为:
rsync [OPTION]… SRC/ DEST例如,将目录dir1中的文件和子目录拷贝到目录dir2中,可以使用以下命令:
rsync -av dir1/ dir2/3. 拷贝本地文件到远程目录
rsync命令可以通过SSH传输文件,并将文件拷贝到远程目录,格式为:
rsync [OPTION]… SRC [SRC]… [USER@]HOST:DEST例如,将文件file1.txt拷贝到远程主机上的目录dir3中,可以使用以下命令:
rsync -av file1.txt user@remote:/dir3/其中,user是远程主机的用户名,remote是远程主机的IP地址或域名。
4. 拷贝远程文件到本地目录
rsync命令还可以从远程主机下载文件,并将文件拷贝到本地目录,格式为:
rsync [OPTION]… [USER@]HOST:SRC [DEST]例如,将远程主机上的文件file2.txt拷贝到本地目录dir4中,可以使用以下命令:
rsync -av user@remote:/file2.txt dir4/5. 远程目录同步
rsync命令可以同步两个远程主机之间的文件和目录,格式为:
rsync [OPTION]… [USER@]HOST:SRC [HOST:DEST]例如,将远程主机A上的目录dir5同步到远程主机B上的目录dir6中,可以使用以下命令:
rsync -av user@remoteA:/dir5/ user@remoteB:/dir6/6. rsync命令的常用选项
rsync命令提供了多种选项,用于控制文件传输及同步的行为。以下是rsync命令常用的选项:– -a, –archive:使用归档模式进行拷贝,等同于 -rlptgoD。
– -r, –recursive:对目录进行递归拷贝。
– -l, –links:拷贝符号链接。
– -p, –perms:保持文件的权限。
– -t, –times:保持文件的时间戳。
– -g, –group:保持文件的组。
– -o, –owner:保持文件的所有者。
– -D:保持设备和特殊文件。
– -v, –verbose:显示详细的拷贝过程。
– -z, –compress:传输时压缩文件。
– -P, –progress:显示文件传输的进度。
– -e, –rsh=COMMAND:指定使用的远程shell命令,默认为ssh。例如,使用rsync命令拷贝文件时,通常会使用以下选项的组合:
rsync -avzP SRC DEST其中,-a表示使用归档模式进行拷贝,-v表示显示详细的拷贝过程,-z表示传输时压缩文件,-P表示显示文件传输的进度。
三、rsync命令的进阶用法
rsync命令支持更多的高级用法,可用于更复杂的文件同步需求。1. 使用排除模式进行文件同步
rsync命令支持使用排除模式进行文件同步,可以指定哪些文件或目录不需要同步。可以使用–exclude选项来指定排除模式。例如,将目录dir7中的文件和子目录拷贝到目录dir8中,并排除掉后缀为.log的文件,可以使用以下命令:
rsync -av –exclude=*.log dir7/ dir8/2. 使用列表文件进行文件同步
rsync命令还支持使用列表文件来指定要同步的文件和目录,可以使用–list option选项来指定列表文件。例如,将文件list.txt中列出的文件和目录拷贝到目录dir9中,可以使用以下命令:
rsync -av –files-from=list.txt ./ dir9/其中,–files-from选项指定了使用的列表文件。
3. 同步删除文件
rsync命令默认不会删除目标目录中已经删除的文件,可以使用–delete选项来同步删除文件。例如,将目录dir10中的文件和子目录拷贝到目录dir11中,并同步删除dir11中不存在的文件,可以使用以下命令:
rsync -av –delete dir10/ dir11/4. 使用SSH密钥进行免密码认证
rsync命令可以通过SSH进行远程认证,可以使用SSH密钥进行免密码认证,以便自动化执行文件同步操作。例如,将文件file3.txt拷贝到远程主机上的目录dir12中,并使用SSH密钥进行免密码认证,可以使用以下命令:
rsync -av -e “ssh -i ~/.ssh/id_rsa” file3.txt user@remote:/dir12/其中,-i选项指定了使用的SSH私钥文件。
五、结论
rsync是一个功能强大的文件同步工具,在Linux系统中得到广泛应用。通过使用rsync命令,可以方便地实现本地文件和目录的拷贝、远程文件的传输和同步等操作。本文对rsync命令的基本用法和进阶用法进行了详细介绍,希望能帮助读者更好地使用这个工具。2年前