使用ssh秘钥做rsync数据同步
- 格式:doc
- 大小:14.00 KB
- 文档页数:1
rsync的两种用法
rsync是一个用于文件同步和备份的命令行工具,它可以通过
本地网络或远程网络同步和备份文件。
第一种用法:同步本地文件夹
rsync可以用来同步两个本地文件夹的内容。
使用以下命令:
rsync -av /path/to/source /path/to/destination
其中,-a表示以递归方式同步文件夹,-v表示显示详细输出。
/path/to/source是源文件夹的路径,/path/to/destination是目标
文件夹的路径。
这个命令会将源文件夹中的文件和文件夹同步到目标文件夹中。
第二种用法:远程文件同步
rsync还可以通过SSH协议同步远程主机的文件。
使用以下命令:
rsync -avz -e ssh user@remote:/path/to/source /path/to/destination
其中,-z表示使用压缩方式同步文件,-e ssh表示通过SSH协
议进行通信。
user是远程主机的用户名,remote是远程主机的IP地址或域名,/path/to/source是远程主机上源文件夹的路径,/path/to/destination是本地目标文件夹的路径。
这个命令会通过SSH协议连接到远程主机,然后将远程主机上的源文件夹同步到本地目标文件夹中。
无论是本地文件夹同步还是远程文件同步,rsync都会比较源和目标文件夹中的文件,并只同步有变化的文件,从而提高同步效率。
Linux命令高级技巧掌握rsync命令进行文件和同步Linux命令高级技巧:掌握rsync命令进行文件同步在Linux系统中,rsync是一个强大而受欢迎的命令行工具,可以在本地或远程系统之间进行文件和文件夹的同步。
rsync具有高效、快速、灵活和安全的特点,广泛应用于数据备份、数据迁移以及实时文件同步等场景。
本文将介绍rsync命令的基本用法和高级技巧,帮助您更好地掌握该命令。
一、基本用法1. 安装rsync命令在大多数Linux发行版中,rsync命令默认已经安装。
如果您的系统没有安装rsync,可以使用以下命令进行安装:```shellsudo apt-get install rsync```2. 同步文件夹到本地要将远程文件夹同步到本地,可以使用以下命令:```shellrsync -avz user@remote:/path/to/source /path/to/destination```其中,user是远程系统的用户名,remote是远程系统的IP地址或主机名,/path/to/source是要同步的文件夹路径,/path/to/destination是本地存放同步文件夹的路径。
3. 同步文件夹到远程要将本地文件夹同步到远程系统,可以使用以下命令:```shellrsync -avz /path/to/source user@remote:/path/to/destination```同样,/path/to/source是要同步的本地文件夹路径,user是远程系统的用户名,remote是远程系统的IP地址或主机名,/path/to/destination 是远程存放同步文件夹的路径。
4. 增量同步默认情况下,rsync会传输整个文件。
如果只想同步文件的增量部分,可以使用--partial参数:```shellrsync -avz --partial user@remote:/path/to/source /path/to/destination```上述命令将只同步发生变化的文件部分,从而加快同步速度。
rsync 同步2台服务器文件的用法rsync是一个用于文件同步的工具,可以在两台服务器之间同步文件或目录。
要使用rsync同步两台服务器之间的文件,可以使用以下命令:```
rsync -avz user@source_server:/path/to/source_dir/
user@destination_server:/path/to/destination_dir
```
其中,-a表示以归档模式同步文件,保持文件的所有属性;-v表示以详细模式显示同步过程;-z表示使用压缩传输,以减少数据传输量。
user是登录服务器的用户名,source_server和
destination_server分别是源服务器和目标服务器的地址,
/path/to/source_dir和/path/to/destination_dir分别是源目录和目标目录的路径。
除了以上基本的用法外,rsync还有许多其他参数和选项可以根据具体需求进行选择,比如--delete参数可以在目标服务器上删除已经
不存在于源服务器的文件;--exclude参数可以排除特定的文件或目录;--progress参数可以显示同步进度等等。
需要注意的是,rsync需要在源服务器和目标服务器上都安装并配置好,通常需要使用ssh协议进行连接和传输。
总的来说,rsync是一个非常实用的文件同步工具,可以帮助用户方便快捷地在不同服务器之间同步文件,适用于各种不同的应用场景。
linux系统scp和rsync同步命令介绍scp⼀、scp 简介scp 是 secure copy 的缩写,是基于 ssh 协议进⾏安全的远程⽂件拷贝命令。
scp 想要免密进⾏复制,需要发送密钥给相应的节点。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
⼆、scp 命令语法scp [-options] [[user@]host1:]source_file [[user@]host2:]target_file2三、参数说明:1、常⽤参数-r:递归复制整个⽬录。
-P port:注意是⼤写的P, port是指定数据传输⽤到的端⼝号。
-v:详细⽅式显⽰出整个过程的调试信息。
这些信息⽤于调试连接,验证和配置问题。
2、其他参数-1:强制scp命令使⽤协议ssh1-2:强制scp命令使⽤协议ssh2-4:强制scp命令只使⽤IPv4寻址-6:强制scp命令只使⽤IPv6寻址-B:使⽤批处理模式(传输过程中不询问传输⼝令或短语)-C:允许压缩。
(将-C标志传递给ssh,从⽽打开压缩功能)-p:保留源⽂件的修改时间,访问时间和访问权限。
-q:不显⽰传输进度条。
-c cipher:以cipher将数据传输进⾏加密,这个选项将直接传递给ssh。
-F ssh_config:指定⼀个替代的ssh配置⽂件,此参数直接传递给ssh。
-i identity_file:从指定⽂件中读取传输时使⽤的密钥⽂件,此参数直接传递给ssh。
-l limit:限定⽤户所能使⽤的带宽,以Kbit/s为单位。
-o ssh_option:如果习惯于使⽤ssh_config(5)中的参数传递⽅式。
-S program:指定加密传输时所使⽤的程序。
此程序必须能够理解ssh(1)的选项。
实例1scp 源⽂件⽬标## 推⽂件[root@web02 ~]# scp /root/1.txt root@10.0.0.41:/root/这⾥注意写上⽂件的绝对路径## 推⽬录推⽬录要加上-r选项[root@web02 ~]# scp -r /root/123 root@10.0.0.41:/tmproot@10.0.0.41's password:456## 拉⽬录把10.0.0.41机器上⾯的/etc⽬录拷贝到本地/tmp下[root@web02 ~]# scp -r root@10.0.0.41:/etc /tmp## 拉⽂件把10.0.0.41机器上⾯的/tmp/yum.log⽂件拷贝到web02机器下的/root⽬录下[root@web02 ~]# scp root@10.0.0.41:/tmp/yum.log /root/root@10.0.0.41's password:yum.log 100% 0 0.0KB/s 00:00[root@web02 ~]# ll /root/total 8drwxr-xr-x 2 root root 17 May 7 00:13 123-rw-------. 1 root root 1444 Apr 30 20:50 anaconda-ks.cfg-rw-r--r--. 1 root root 287 May 3 20:07 host_ip.sh-rw------- 1 root root 0 May 7 00:24 yum.logrsyncrsync是同步⼯具,把⼀台机器上的⽂件传输到另⼀台。
rsync 功能详解目录第一章引言 (2)1.1. 编写目的 (2)1.2. 背景 (2)1.3. 参考资料.................................................................................... 错误!未定义书签。
第二章工具概述 (3)2.1. 简介 (3)2.2. 特性 (3)第三章运行环境 (4)3.1. 硬件要求 (4)3.2. 软件依赖 (4)第四章安装配置 (5)4.1. 安装包获取 (5)4.2. 安装 (5)4.3. 服务端配置 (5)4.4. 服务端启动 (6)第五章使用说明 (7)5.1. 服务端 (7)5.2. 客户端 (10)第一章引言1.1. 编写目的本文档是对rsync数据同步工具的使用说明手册,在本文档对rsync数据同步工具的使用场景、操作命令、参数进行了详细具体的描述,通过该文档读者可以了解该工具的所有功能以及具体操作命令。
1.2. 背景该工具使用者主要面向公司项目管理者、项目实施人员、系统维护人员及其他有关人员。
工具主要功能为系统数据迁移,使用时项目管理者与客户沟通,将工具部署在客户环境,对用户数据进行远程传输迁移。
第二章工具概述2.1. 简介rsync是一个数据同步工具,即可实现本地数据同步,也可实现本地和远端两个主机数据同步,通过LAN/WAN快速同步多台主机间的文件。
rsync引用“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法可以实现只传送两个文件的不同部分,而不是每次都整份传送,因此速度比较快。
rsync工具分为两个部分:服务端和客户端,服务端以daemon模式去运行,在以daemon 方式运行时,rsync server会打开一个873端口,等待客户端去连接。
连接时,rsync server 会检查口令是否相符,若通过口令检查,则可以开始进行文件传输,rsync也支持匿名传输。
进阶技巧使用Shell脚本实现远程文件传输Shell是一种通用的脚本语言,常用于自动化任务和批量处理。
使用Shell脚本可以方便地实现远程文件传输。
本文将介绍一些进阶技巧,帮助您更好地使用Shell脚本实现远程文件传输。
1. SSH密钥认证在进行远程文件传输之前,首先要建立安全的连接。
使用SSH密钥认证可以免去每次输入密码的麻烦,提高操作效率。
以下是使用SSH密钥认证的步骤:- 生成密钥对:在本地机器上使用`ssh-keygen`命令生成公钥和私钥。
- 将公钥传输到远程服务器:使用`ssh-copy-id`命令将生成的公钥传输到远程服务器上的`~/.ssh/authorized_keys`文件中。
- 测试连接:使用`ssh`命令测试连接,确认无需输入密码即可登录。
2. SCP命令传输文件SCP是Secure Copy的缩写,是基于SSH的安全文件传输协议。
通过SCP命令可以实现远程文件的传输。
- 上传文件:使用`scp`命令将本地文件上传至远程服务器。
示例命令:`scp localfile.txt user@remote:/path/to/destination`。
- 下载文件:使用`scp`命令将远程服务器上的文件下载到本地。
示例命令:`scp user@remote:/path/to/file.txt localfile.txt`。
3. SFTP协议传输文件SFTP是SSH File Transfer Protocol的缩写,通过SFTP协议可以在客户端和服务器之间传输文件。
可以使用`lftp`工具实现SFTP协议的文件传输。
- 进入SFTP交互模式:在终端中输入`lftpsftp://user:password@remote`命令,进入SFTP交互模式。
- 上传文件:在SFTP交互模式下,使用`put`命令将本地文件上传至远程服务器。
示例命令:`put localfile.txt`。
- 下载文件:在SFTP交互模式下,使用`get`命令将远程服务器上的文件下载到本地。
使用rsync命令实现远程文件同步rsync是一种用于在本地和远程系统之间快速、安全、可靠地同步文件和目录的工具。
它可以通过SSH协议传输数据,并在传输过程中进行压缩和加密,使文件同步过程更高效和安全。
本文将介绍如何使用rsync命令实现远程文件同步。
1. 确保rsync已经安装在开始使用rsync命令之前,首先需要确保rsync已经在您的系统上安装并可用。
在大部分Linux系统上,rsync通常默认安装。
您可以通过在终端中运行以下命令来检查rsync是否已经存在:```rsync --version```如果显示了rsync的版本信息,则表示rsync已经安装成功。
否则,您需要先安装rsync。
2. 执行远程文件同步在使用rsync命令进行远程文件同步之前,您需要知道远程主机的IP地址、用户名和目录路径,以及您本地主机上的同步源文件或目录路径。
基本的rsync命令语法如下:```rsync [option] [source] [destination]```其中,[option]代表rsync的选项,[source]代表同步源文件或目录的路径,[destination]代表目标主机的IP地址和目录路径。
例如,要将本地主机上的`/home/user/file.txt`文件同步到远程主机上的`/remote/directory`目录下,可以使用以下命令:```rsync -az /home/user/file.txt username@remote_ip:/remote/directory```在该命令中,`-a`选项表示以归档模式进行同步,保留文件的权限和时间戳。
`-z`选项表示在传输过程中进行压缩,以提高传输效率。
`username`代表远程主机的用户名,`remote_ip`代表远程主机的IP地址。
3. 添加SSH密钥认证为了能够以安全的方式进行远程文件同步,推荐使用SSH密钥认证。
这样可以避免每次执行rsync命令时都需要输入密码。
rsync同步命令详解⼀、rsync命令的解释sync(Synchronize,即“同步”)为UNIX操作系统的标准系统调⽤,功能为将内核⽂件系统缓冲区的所有数据(也即预定将通过低级I/O系统调⽤写⼊存储介质的数据)写⼊存储介质(如硬盘)。
sync是⼀个linux同步命令,含义为迫使缓冲块数据⽴即写盘并更新超级块。
在linux系统中,为了加快数据的读取速度,默认情况下,某些数据将不会直接写⼊硬盘,⽽是先暂存内存中,如果⼀个数据被重复写,这样速度⼀定快,但存在⼀个问题,万⼀重新启动,或者是关机,或者是不正常断电的情况下,由于数据还没来得及存⼊硬盘,会造成数据更新不正常,这时需要命令sync进⾏数据的写⼊,即#sync,在内存中尚未更新的的数据会写⼊硬盘中。
所以在关机或者开机之前最好多执⾏这个⼏次,以确保数据写⼊硬盘。
rsync不仅可以远程同步数据(类似于scp),当然还可以本地同步数据(类似于cp),但不同于cp或scp的⼀点是,rsync不像cp/scp⼀样会覆盖以前的数据(如果数据已经存在),它会先判断已经存在的数据和新数据有什么不同,只有不同时才会把不同的部分覆盖掉。
scp ⽤来远程拷贝数据,通过ssh协议通信。
它的语法很简单,类似于cp, 唯⼀不同的是,源地址或者⽬标地址需要使⽤远程主机的ip或者hostname. 例如要把本地的数据拷贝到远程⼀台主机(192.168.0.0)的/data/⽬录下,可以这样实现: scp /dir/filename root@192.168.0.0:/data/其中filename 可以是⽬录也可以是⽂件。
或者也可以把远程的⽂件拷贝到本地: scp root@192.168.0.0:/data/filename /data/⼆、rsync的命令格式:1. rsync [OPTION]... SRC DEST2. rsync [OPTION]... SRC [USER@]HOST:DEST3. rsync [OPTION]... [USER@]HOST:SRC DEST4. rsync [OPTION]... [USER@]HOST::SRC DEST5. rsync [OPTION]... SRC [USER@]HOST::DEST6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]对应于以上六种命令格式,rsync有六种不同的⼯作模式: 1)拷贝本地⽂件。
实用技巧使用ssh和scp命令进行远程登录传输和管理在计算机网络中,SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络上安全地进行远程登录和数据传输。
它提供了多种功能,从简单的远程命令执行到基于公钥的身份验证。
与之配套使用的SCP(Secure Copy)命令则是一种远程文件传输协议,通过SSH通道进行加密传输。
本文将介绍如何使用SSH和SCP命令进行远程登录、传输和管理。
一、使用SSH命令进行远程登录SSH命令可以连接到远程计算机,并在远程计算机上执行命令。
1. 打开终端(命令行界面)。
2. 输入以下命令(假设目标计算机的IP地址为x.x.x.x):``***************.x.x``其中,username为目标计算机上的用户名。
如果你是用于远程登录的计算机的当前用户,则可以省略用户名。
3. 输入目标计算机的密码。
如果你是第一次连接到目标计算机,系统可能会要求你确认目标计算机的指纹(fingerprint)。
输入“yes”来确认。
4. 成功登录后,你将进入目标计算机的命令行界面。
你可以在这里执行任意的命令。
二、使用SCP命令进行文件传输SCP命令可以在本地计算机和远程计算机之间进行文件传输。
1. 将文件从本地计算机上传到远程计算机:``scp/path/to/local/****************.x.x:/path/to/remote/directory``其中,/path/to/local/file为本地计算机上要传输的文件的路径,username为远程计算机的用户名,x.x.x.x为远程计算机的IP地址,/path/to/remote/directory为远程计算机上要保存文件的目录路径。
2. 将文件从远程计算机下载到本地计算机:``***************.x.x:/path/to/remote/file/path/to/local/directory``其中,/path/to/remote/file为远程计算机上要传输的文件的路径,/path/to/local/directory为本地计算机上要保存文件的目录路径。
Linux命令进阶使用rsync进行增量备份与同步在数据备份和同步方面,Linux系统提供了很多强大的工具。
其中,rsync是一种非常常用且高效的命令行工具,能够在本地和远程主机之间进行文件备份和同步。
本文将介绍rsync命令的基本用法和进阶技巧,帮助读者更好地使用rsync进行增量备份与同步。
一、rsync的基本用法rsync命令的基本用法如下:```rsync [可选参数] 源文件目标文件```其中,可选参数包括:- -a,等同于-rlptgoD,用于归档备份,保留原文件属性- -v,显示详细的备份进程信息- -z,启用数据压缩,加快数据传输速度- --delete,删除目标文件中与源文件不一致的文件- --exclude,排除指定的文件或目录例如,要将本地目录`/data`备份到远程主机的`/backup`目录下,可以使用以下命令:```rsync -avz --delete /data user@remote:/backup```上述命令将会将本地`/data`目录的文件同步到远程主机`user@remote:/backup`目录,并删除`/backup`目录中与`/data`目录不一致的文件。
二、增量备份与同步rsync的一个重要特性是增量备份与同步。
增量备份指的是只备份源文件变动的部分,避免重复备份整个文件。
这样可以大大节省备份时间和存储空间。
下面介绍两种常用的增量备份与同步方式。
1. 基于时间戳的增量备份rsync命令支持根据文件的修改时间戳来判断文件是否发生变化。
通过`-u`参数,rsync只备份更新时间戳较新的文件。
例如:```rsync -avuz --delete /data user@remote:/backup```上述命令将只备份更新时间戳较新的文件,以实现增量备份和同步。
2. 基于文件内容的增量备份除了基于时间戳的备份,rsync还支持基于文件内容的增量备份。
通过`-c`参数,rsync会在传输文件前先校验文件的内容是否发生变化。
使用ssh秘钥认证进行rsync数据同步
1、在resync端添加ssh秘钥
[root@zed ~]# cd ~
[root@zed ~]# ssh-keygen
2、将产生的ssh秘钥发送给需要连接的服务器
ssh-copy-id -i ./.ssh/id_rsa.pub "-p 32322 asgDbg@202.153.84.22"
进行密码验证
3、在需要备份的服务器上新建文件夹和文件做为测试
[root@localhost asgDbg]# cd /home/asgDbg/
[root@localhost asgDbg]# ls
migrate.sh v3.4 zabbix
[asgDbg@localhost ~]$ mkdir test
[asgDbg@localhost ~]$ cd test
[asgDbg@localhost test]$ touch 123
4在rsync端执行rsync测试
rsync -avz -e 'ssh -p 32322' asgDbg@xx.xx.xx.22:/home/asgDbg/test .
5、将rsync添加到计划任务里
[root@Backup-server ~]# crontab -e
添加计划任务
检查计划任务
[root@Backup-server ~]# crontab -l
20 3 * * * /usr/bin/rsync -avz -e 'ssh -p 2222' asgDbg@xxx.1xx.xx.1xx:/var/pgsqlbackup/DBM0 guangzhouAPN-OMP-backup >/dev/null 2>&1
40 3 * * * /usr/bin/rsync -avz -e 'ssh -p 222' asgDbg@xxx.xxx.xxx.xxx:/var/pgsqlbackup/DBM0 aliyunOMP-backup >/dev/null 2>&1
00 4 * * * /usr/bin/rsync -avz -e 'ssh -p 32322' asgDbg@xxx.1xxxx.xx:/var/pgsqlbackup/DBM0 SingaporeOMP-backup >/dev/null 2>&1。