2案例2:rsync+SSH同步
2.1 問題
本例要求掌握rsync與遠程SSH資源的同步操作,使用rsync命令訪問遠程主機svr7,完成下列任務:
- 查看遠程主機的 / 目錄下有哪些子目錄
- 從遠程主機下載 /etc/passwd 文件到當前目錄
- 將遠程主機的 /boot/ 目錄同步爲本地的 /fromssh
- 將本機的 /etc 目錄同步到遠程主機的 /opt/ 下
2.2 方案
列出SSH服務端資源
- rsync user@host:遠程目錄/
rsync+SSH遠程同步操作: - rsync […] user@host:遠程目錄 本地目錄
- rsync […] 本地目錄 user@host:遠程目錄
2.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:列出遠程主機的SSH資源
查看遠程主機svr7的 / 目錄下有哪些子目錄:
[root@pc207 ~]# rsync [email protected]:/
[email protected]'s password: //驗證對方的密碼
dr-xr-xr-x 4096 2016/12/15 10:39:34 .
lrwxrwxrwx 7 2016/12/07 09:21:50 bin
lrwxrwxrwx 7 2016/12/07 09:21:50 lib
lrwxrwxrwx 9 2016/12/07 09:21:50 lib64
lrwxrwxrwx 8 2016/12/07 09:21:50 sbin
dr-xr-xr-x 4096 2016/12/07 11:25:29 boot
drwxr-xr-x 6 2016/12/07 09:21:14 data
drwxr-xr-x 3200 2016/12/15 10:46:15 dev
drwxr-xr-x 8192 2016/12/20 17:01:02 etc
步驟二:rsync+SSH同步操作
1)從遠程主機svr7下載/etc/passwd文件到當前目錄
[root@pc207 ~]# rsync [email protected]:/etc/passwd ./
[email protected]'s password: //驗證對方的密碼
[root@pc207 ~]# cat passwd //檢查同步結果
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
.. ..
2)將遠程主機svr7的/boot/目錄同步爲本地的/fromssh
[root@pc207 ~]# rsync -a [email protected]:/boot/ /fromssh
[email protected]'s password: //驗證對方的密碼
[root@pc207 ~]# ls /fromssh/ //檢查同步結果
config-3.10.0-327.el7.x86_64
extlinux
grub2
initramfs-0-rescue-a19921505cc7e19d20dfcd5cea7d8aa2.img
initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.el7.x86_64kdump.img
.. ..
3)將本機的/etc目錄同步到遠程主機svr7的/opt/下
確認目錄大小:
[root@pc207 ~]# du -sh /etc
35M /etc
上行同步到遠程主機svr7上:
[root@pc207 ~]# rsync -a /etc [email protected]:/opt/
[email protected]'s password:
在遠程主機上檢查同步結果:
[root@svr7 ~]# du -sh /opt/etc
35M /opt/etc