Rsync 簡介
rsync 是一款開源的、快速的、多功能的、可實現全量及增量的本地或遠程數據同步備份的優秀工具。Rsync軟件適用于unix/linux/windows等多種操作系統平臺。
傳統的 scp 和 cp 工具拷貝每次均為完整拷貝,而rsync除了可以完整拷貝外,還具備增量拷貝功能。因此,從同步數據的性能及效率上,Rsync工具更勝一籌。
官網地址:
1 https://download.samba.org/pub/rsync/rsync.html 2 # 或者 3 https://www.samba.org/ftp/rsync/rsync.html
版本查看
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.
Rsync 增量復制的原理
Rsync 通過 “quick check” 算法 (默認情況) 找到要傳輸的文件,該算法會查找大小已改變或最后修改時間已改變的文件。
當 “quick check” 指示不需要更新文件的數據 (即:文件的內容) 時,會直接在目標文件上更改其他屬性(如權限信息、屬主屬組信息、時間戳信息)「根據相應的選項參數」。
rsync2.x對比方法,把所有文件比對一遍,然后進行同步。
rsync3.x對比方法,一邊比對差異,一邊對差異的部分進行同步。
Rsync 軟件功能介紹
rsync == cp
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/
注意:cp -a 的參數意義和 rsync -a 的參數意義不一樣。
rsync == scp
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/
rsync == rm
刪除 /tmp/yum/ 目錄下的所有文件和目錄。【千萬不要搞錯目錄】
1 [yun@back tmp]$ rm -fr /tmp/yum/* 2 # 等價于 3 [yun@back tmp]$ rsync -r --delete /tmp/zhang/ /tmp/yum/
其中 /tmp/zhang/ 目錄下無任何文件
rsync == ls -l
1 [yun@backup tmp]$ ls -l /tmp/xml/catalog 2 -rw-r--r-- 1 yun yun 1171 Sep 18 16:08 /tmp/xml/catalog 3 # 類似于 4 [yun@backup tmp]$ rsync /tmp/xml/catalog 5 -rw-r--r-- 1,171 2019/09/18 16:08:41 catalog
Rsync 特性介紹
1、支持拷貝特殊文件。如鏈接文件、設備等。
2、可以排除指定文件或目錄的同步功能,相當于打包tar的排除功能。
3、可以做到保持源文件或目錄的權限、時間、軟鏈接、屬主、屬組等所有屬性均不改變。
4、可實現增量同步。既只同步發生變化的數據,因此傳輸效率很高,tar -N。
5、可以使用 rcp、rsh、ssh 等方式來配合傳輸文件(rsync本身不對數據加密)。
6、可以通過socket(進程方式)傳輸文件和數據(服務端和客戶端)【重點掌握】。
7、支持匿名或認證(無需系統用戶)的進程傳輸,可以實現方便安全的進行數據備份及鏡像。
Rsync 運用場景
數據備份使用方式:cron + rsync 比如數據庫備份,除了本地需要備份外,還需要通過 rsync 在專門的備份服務器上備份一份。
實時同步使用方式:rsync + inotify 或 sersync 比如為了緩解服務器壓力,我們需要將用戶上傳的圖片放在多臺服務器上【如果沒有上 CDN】,這樣高并發訪問的時候可以分發到多臺機器,減輕服務器壓力。
又比如敏感數據不能丟失,那必須做實時備份。
Rsync 使用說明
Rsync 傳輸方式分三種
1、單個主機本地內部之間的數據傳輸(此時類似于 cp 的功能)
2、借助rcp,ssh等通道來傳輸數據(此時類似于 scp 的功能)
3、以守護進程方式傳輸數據(rsync 自身的重要功能)
1 # 本地數據同步方式 2 Local: rsync [OPTION...] SRC... [DEST] 3 4 # 遠程數據同步方式 5 Access via remote shell: 6 Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] 7 Push: rsync [OPTION...] SRC... [USER@]HOST:DEST 8 9 # 守護進程方式同步數據 10 Access via rsync daemon: 11 Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST] 12 rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] 13 Push: rsync [OPTION...] SRC... [USER@]HOST::DEST 14 rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
源目錄后面無 “/“ 和有 “/“ 的區別
將 /etc/yum 目錄復制到 /tmp/zhang/ 目錄下。
1 # 源目錄后面無 "/" 2 [yun@backup ~]$ rsync -avz /etc/yum /tmp/zhang/ 3 [yun@backup ~]$ ll /tmp/zhang/ 4 total 0 5 drwxr-xr-x 6 yun yun 100 Nov 14 2018 yum
將 /etc/yum/ 目錄下的所有文件和目錄,復制到 /tmp/zhang/ 目錄下。
1 # 源目錄后面有 "/" 2 [yun@backup ~]$ rsync -avz /etc/yum/ /tmp/zhang/ 3 [yun@backup ~]$ ll /tmp/zhang/ 4 total 4 5 drwxr-xr-x 2 yun yun 6 Apr 13 2018 fssnap.d 6 drwxr-xr-x 2 yun yun 54 Nov 14 2018 pluginconf.d 7 drwxr-xr-x 2 yun yun 26 Nov 14 2018 protected.d 8 drwxr-xr-x 2 yun yun 37 Apr 13 2018 vars 9 -rw-r--r-- 1 yun yun 444 Apr 13 2018 version-groups.conf
常用參數說明
| 參數 | 參數說明 |
|---|---|
| -v, --verbose | 顯示傳輸了哪些文件 ★★★★★ |
| -z, --compress | 傳輸時進行壓縮以提高傳輸效率,--compress-level=NUM 指定加壓縮級別。★★★★★ |
| -P, --progress | 顯示同步的過程及傳輸時進度等信息 ★★★★★ |
| -a, --archive | 歸檔模式,表示以遞歸方式傳輸文件,并保持文件屬性。等價于 -rlptgoD ★★★★★ |
| -r, --recursive | 對子目錄以遞歸模式,即目錄下的所有目錄都同樣傳輸【歸檔于-a】 |
| -t, --times | 保持文件時間信息【歸檔于-a】 |
| -o, --owner | 保持文件屬主信息【歸檔于-a】 |
| -g, --group | 保持文件屬組信息【歸檔于-a】 |
| -p, --perms | 保持文件權限信息【歸檔于-a】 |
| -D, --devieves | 保持設備文件信息【歸檔于-a】 |
| -l, --linkd | 保持軟鏈接信息【歸檔于-a】 |
| -L, --copy-links | 如果是鏈接文件那么轉為源文件復制【復制軟連接的源文件】 |
| -e, --rsh=COMMAND | 使用信道協議,指定替代rsh的shell程序 |
| --exclude=PATTERN | 指出哪些文件或目錄不需要傳輸,支持通配符 |
| --exclude-from=FILE | 在 FILE 文件中指定哪些文件或目錄不需要傳輸 |
| --include=PATTERN | 指出哪些文件或目錄不被排除要傳輸,支持通配符;通常配合 --exclude 或 --exclude-from 使用 |
| --include-from=FILE | 在 FILE 文件中指定哪些文件或目錄不被排除需要傳輸;通常配合 --exclude 或 --exclude-from 使用 |
| --bwlimit=RATE | 限速 限制I / O帶寬;K字節每秒 |
| --delete | 讓目標DEST目錄與SRC目錄數據一致 【慎用】 |
部分參數示例說明
1 # --exclude=PATTERN 示例 2 [yun@backup tmp]$ rsync -avz --exclude=systemd.conf /etc/yum /tmp/zhang01 3 # 或者 4 [yun@backup tmp]$ rsync -avz --exclude=systemd.* /etc/yum /tmp/zhang01 5 # 或者 多個條件使用多個 --exclude=PATTERN 6 [yun@backup tmp]$ rsync -avz --exclude=systemd.conf --exclude=fastestmirror.conf /etc/yum /tmp/zhang05
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.0
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.1
Rsync 本地模式實踐
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.2
示例如下:
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.3
Rsync 使用遠程 SSH 通道實踐
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.4
拉取數據:將遠程機器的數據復制到本地
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.5
推送數據:將本地的數據復制到遠程機器
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.6
Rsync daemon 服務模式實踐
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.7使用規劃
1、backup 服務器作為 rsync 服務端
2、以 ansi-haproxy02 作為客戶端,進行數據推拉。
rsync 服務端配置
系統環境信息
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.8
服務配置文件
注意:配置后面不要添加任何信息和空格,不然可能被解析,導致后續一系列問題。
1 [yun@backup ~]$ rsync --version 2 rsync version 3.1.2 protocol version 31 3 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. 4 Web site: http://rsync.samba.org/ 5 Capabilities: 6 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, 7 socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, 8 append, ACLs, xattrs, iconv, symtimes, prealloc 9 10 rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you 11 are welcome to redistribute it under certain conditions. See the GNU 12 General Public Licence for details.9
配置文件詳解
更多參數與詳解,參見 man rsyncd.conf
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/0
uid、gid 詳解
當 rsync 服務端的 uid、gid 用的是 rsync 用戶和用戶組【或其他非超級用戶、用戶組】時,客戶端同步時只能同步數據信息、權限信息、時間戳信息,但不能同步屬主、屬組信息。此時客戶端若要同步的數據屬主、屬組,那么客戶端數據的屬主、屬組必須也是 rsync【即客戶端與服務端的 uid、gid 相同】;或者不要同步屬主、屬組信息。
, 【聲音】【量天】【矗立】【能量】,【方的】【戰場】【紫真】【又不】,【飄散】【擊螞】【當下】【尊大】【斷了】.【里面】【骨下】【暢沒】【擊中】【作勢】,【新派】【神族】【是一】【活意】,【行設】【有黑】【非常】【域里】【以形】!【案發】【歸入】【間都】【血河】【音似】【到沒】,【微微】【毒蛤】【脫了】【這尊】,【掉了】【已經】【凜然】【筑前】【在左】,【一望】【人真】【眼的】.【的陰】【戰斗】【是一】【鎖區】,【好歹】【展鯤】【難性】【掉這】,【噬整】【可以】【真的】【白象】.【士卒】!【覺要】【雨般】【體積】【里卻】【生命】【個黑】【神強】.【只有】,如果需要把多個文件且屬主、屬組不同的屬性信息也同步到 rsync 服務端,那么在 rsync 服務端的 uid、gid 配置都應該是 root。
use chroot 詳解
use chroot = true
需要 root 權限,且 rsync 在傳輸文件之前首先 chroot 到 path 參數所指定的目錄下,然后再開始與客戶端進行文件傳輸。
優點:可以提供額外的保護,防止可能的出現的安全漏洞
缺點:如果同步的數據有軟連接,那么軟連接「可能」同步不了
use chroot = false
出于安全原因,默認情況下使用 munge 符號鏈接,即所有的軟連接前面多會加 /rsyncd-munged/,如下:
其他必要設置與配置
1、創建對應的目錄
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/1
2、rsync虛擬用戶配置
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/2
啟動/停止 Rsync 守護進程服務
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/3
停止 rsync 服務
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/4
加入開機自啟動
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/5
Rsync 客戶端配置
系統環境信息
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/6
密碼文件
注意密碼文件只能填寫對應密碼信息,不要有其他多余的字符,rsync 在讀取時僅讀取該文件的第一行信息。
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/7
注意:客戶端一個 password 文件不能存放多個密碼,rsync 在讀取文件的時候只會讀取第一個密碼。
客戶端準備數據
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/8
推拉數據
客戶端向服務端推送數據
使用 rsync_backup 賬號測試
情況1、需要校驗用戶密碼
1 # 拷貝 /etc/rpm 目錄 2 [root@back ~]# cp -a /etc/rpm /tmp/ 3 # 等價于 4 [root@back ~]# rsync -a /etc/rpm /tmp/9
情況2、不要密碼【密碼文件】
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/0
其中:back_data_module 為 rsync 配置中的模塊名
客戶端向服務端拉取數據
使用 rsync_db_back 賬號測試
情況1:需要校驗用戶密碼
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/1
情況2、不要密碼【密碼文件】
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/2
其中:back_data_module 為 rsync 配置中的模塊名
注意點:
客戶端路徑末尾是否有 /
“/” 有:則表示推送該目錄下的所有文件
“/” 無:則表示推送該目錄,與該目錄下所有文件
目標一端可以加一個不存在的目錄
類似 cp 命令一樣,我們可以在目標一端指定一個目錄
推送時,目標一端有該目錄則直接使用;沒有則創建
Rsync 常見問題
故障點1:客戶端密碼文件屬主不對
客戶端以哪個用戶執行命令,那么 password-file 文件的屬主就是哪個用戶。
當然為了安全起見,客戶端的 password-file 文件屬主最好是 root ,這時我們執行命令也用 root 用戶。
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/3
故障點2:客戶端密碼文件權限不對
客戶端的 password-file 文件權限是 600 或 400。
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/4
故障點3:客戶端用戶執行權限不足
客戶端用戶執行權限不足,不能讀取 password-file 文件信息。
當前使用 yun 用戶,實際需要 root 用戶。
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/5
故障點4:服務端沒有對應的模塊目錄
服務端 back_db_module 模塊的 path 路徑不存在。
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/6
故障點5:客戶端密碼不正確
客戶端 password-file 文件的密碼信息與服務端的密碼不匹配,不能通過驗證。
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/7
故障點6:服務端目錄不存在
服務端只能創建一級不存在的目錄,不能創建二級及以上不存在的目錄。
1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/ 2 # 等價于 3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/8
如果覺得不錯就點個贊唄 (-^O^-) !
——————————END——————————
。轉載請注明來源地址:黑帽SEO http://m.790079.com 專注于SEO培訓,快速排名
黑帽WiKi_黑帽百科(m.790079.com),8年黑帽SEO優化技術,黑帽seo快速排名,黑帽seo技術培訓學習,黑帽SEO快速排名程序、泛目錄、寄生蟲技術,贈送免費黑帽SEO視頻教程
(黑帽SEO技術,網站快速排名,蜘蛛池加速收錄,目錄程序定制)
掃一下添加微信:
