成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

inotify+rsync實(shí)時(shí)同步-創(chuàng)新互聯(lián)

1.1 inotify簡(jiǎn)介

inotify是一種強(qiáng)大的,細(xì)粒度的,異步的文件系統(tǒng)時(shí)間監(jiān)控機(jī)制,Linux內(nèi)核從2.6.13加入了inotify支持,通過(guò)inotify可以監(jiān)控文件系統(tǒng)匯中添加,刪除,修改,移動(dòng)等各種事件,利用這個(gè)內(nèi)核接口,第三方軟件就可以監(jiān)控文件系統(tǒng)下文件的各種變化情況,而inotify-tools正式實(shí)施這樣的監(jiān)控的軟件,國(guó)人周洋在金山公司開(kāi)發(fā)了類(lèi)似的實(shí)時(shí)同步軟件sersync.

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到樺川網(wǎng)站設(shè)計(jì)與樺川網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋樺川地區(qū)。

1.1.1 安裝inotify

在安裝inotify-tools前請(qǐng)先確認(rèn)你的Linux內(nèi)核是否達(dá)到了2.6.13,并且在編輯時(shí)開(kāi)啟CONFIG_INOTIFY選項(xiàng),也可以通過(guò)以下命令檢測(cè)。

安裝inotify默認(rèn)條件:

  • yum安裝方式源信息必須設(shè)置正確:

默認(rèn)的yum源(軟件的倉(cāng)庫(kù)):base+extras+updates

國(guó)內(nèi)yum源(軟件的倉(cāng)庫(kù)):http://mirrors.aliyun.com/help/centos

擴(kuò)展yum源(擴(kuò)展的倉(cāng)庫(kù)):epel(企業(yè)級(jí)Linux的yum源的擴(kuò)展倉(cāng)庫(kù))

  • 阿里云epel源:通過(guò)訪(fǎng)問(wèn)阿里yum源鏡像地址獲取

  • 直接安裝epel源方式:yum install epel-release

1.2 數(shù)據(jù)同步原理介紹

1.2.1 inotify+rsync實(shí)時(shí)同步

  • 實(shí)時(shí)同步軟件會(huì)負(fù)責(zé)監(jiān)控磁盤(pán)文件系統(tǒng)的變化。比如:指定一個(gè)/data目錄,實(shí)時(shí)同步軟件服務(wù)進(jìn)程會(huì)實(shí)時(shí)監(jiān)控這個(gè)/data目錄中數(shù)據(jù)的變化,即文件系統(tǒng)block與inode信息的變化。

  • 實(shí)時(shí)同步軟件服務(wù)進(jìn)程監(jiān)控/data目錄文件系統(tǒng)數(shù)據(jù)一旦發(fā)生變化,就會(huì)執(zhí)行rsync命令,將變化的文件數(shù)據(jù)信息推送到備份服務(wù)器相應(yīng)的備份目錄中,從而完成數(shù)據(jù)的實(shí)時(shí)備份。

rsync的傳輸效率是很高的但rsync也有缺點(diǎn),大的問(wèn)題就是每次執(zhí)行rsync命令都會(huì)遍歷目標(biāo)目錄,當(dāng)文件不多時(shí),這沒(méi)什么問(wèn)題,一旦文件數(shù)到了一定規(guī)模,那么每次遍歷都會(huì)消耗很多資源,如果只對(duì)經(jīng)常改動(dòng)的目錄進(jìn)行同步,也可以忽略這個(gè)問(wèn)題,如果每次改動(dòng)的目錄多較大,那么就要用到inotify了。

inotify+rsync的方式使得效率更高效,只對(duì)經(jīng)常改變的文件進(jìn)行同步

安裝 inotify 軟件的前提 rsync 服務(wù)安裝成功,可以在客戶(hù)端推送拉取數(shù)據(jù)

另外:inotify 是在客戶(hù)端配置安裝的軟件,別裝錯(cuò)了

1.2.2 定時(shí)任務(wù)crond+rsync數(shù)據(jù)同步

rsync+定時(shí)任務(wù)的方式會(huì)定時(shí)的將系統(tǒng)中變動(dòng)的文件定時(shí)的同步給服務(wù)器,但是定時(shí)任務(wù)的最小單位是分。這對(duì)于數(shù)據(jù)變化快而且數(shù)據(jù)重要的金融行業(yè)來(lái)說(shuō),顯然是不能容忍的。因此這種方式有一定局限性。

1.3 inotify知識(shí)介紹

1.3.1 inotify軟件的主要工具命令

[root@nfs01 ~]# rpm-ql inotify-tools    ##查詢(xún)inotify-tools中包含哪些包

/usr/bin/inotifywait

/usr/bin/inotifywatch

/usr/lib64/libinotifytools.so.0

/usr/lib64/libinotifytools.so.0.4.1

/usr/share/doc/inotify-tools-3.14

/usr/share/doc/inotify-tools-3.14/AUTHORS

/usr/share/doc/inotify-tools-3.14/COPYING

/usr/share/doc/inotify-tools-3.14/ChangeLog

/usr/share/doc/inotify-tools-3.14/NEWS

/usr/share/doc/inotify-tools-3.14/README

/usr/share/man/man1/inotifywait.1.gz

/usr/share/man/man1/inotifywatch.1.gz

[root@nfs01 ~]#

  • inotifywait:在被監(jiān)控的文件或目錄上等待特定文件系統(tǒng)時(shí)間(open close delete等)發(fā)生,執(zhí)行后處于阻塞狀態(tài),適合在shell腳本中使用。

  • inotifywatch:收集被監(jiān)控的文件系統(tǒng)使用度統(tǒng)計(jì)數(shù)據(jù),指文件系統(tǒng)事件發(fā)生的次數(shù)統(tǒng)計(jì)。

說(shuō)明:yum安裝后可以直接使用,如果編譯安裝需要進(jìn)入到相應(yīng)軟件目錄的bin目錄下使用。

1.3.2 查看當(dāng)前系統(tǒng)是否支持inotify

[root@nfs01 etc]# uname -r

2.6.32-642.el6.x86_64

[root@nfs01 etc]# ls -l /proc/sys

sys/          sysrq-trigger sysvipc/

[root@nfs01 etc]# ls-l /proc/sys/fs/inotify/

total 0

-rw-r--r-- 1 root root 0 May 12 16:26 max_queued_events

-rw-r--r-- 1 root root 0 May 12 16:26 max_user_instances

-rw-r--r-- 1 root root 0 May 12 16:26 max_user_watches

[root@nfs01 etc]#顯示上面三個(gè)文件說(shuō)明支持inotify

[root@nfs01 ~]# cd/proc/sys/fs/inotify/

[root@nfs01 inotify]# ls

max_queued_events max_user_instances max_user_watches

[root@nfs01 inotify]# catmax_user_watches

8192

[root@nfs01 inotify]# catmax_user_instances

128

[root@nfs01 inotify]# catmax_queued_events

16384

[root@nfs01 inotify]#

關(guān)鍵參數(shù)說(shuō)明:

max_queued_events:設(shè)置inotify實(shí)例事件(event)隊(duì)列可容納的事件數(shù)量。

max_user_instances:設(shè)置每個(gè)用戶(hù)可以運(yùn)行的inotifywait或inotifywatch命令的進(jìn)程數(shù)。

max_user_watches:設(shè)置inotifywait或inotifywatch命令可以監(jiān)視的文件數(shù)量(單進(jìn)程)

1.3.3 inotify的工作機(jī)制(屬于觸發(fā)機(jī)制)

  • 客戶(hù)端開(kāi)啟運(yùn)行inotify服務(wù)進(jìn)程,檢測(cè)共享目錄的數(shù)據(jù)變化

  • 獲取到共享目錄數(shù)據(jù)發(fā)生變化,通知執(zhí)行rsync命令同步數(shù)據(jù)。

  • 將變化數(shù)據(jù)發(fā)送到rsync服務(wù)端(開(kāi)啟rsync守護(hù)進(jìn)程服務(wù)器)的共享目錄中。

1.3.4 inotify同步命令詳解

1.3.4.1         inotify命令的參數(shù)

命令參數(shù)

參數(shù)說(shuō)明

-m|--monitor

始終保持事件監(jiān)聽(tīng)狀態(tài)

-d|--daemon

類(lèi)似于-m參數(shù),只是將命令運(yùn)行在后臺(tái),記錄觸發(fā)的事件信息在指定文件中,利用--outfile參數(shù),定義程序日志使用--syslog參數(shù)

-r(重要參數(shù))

遞歸監(jiān)控目錄數(shù)據(jù)信息變化

-o|--outfile <file>

打印事件到文件中,相當(dāng)于標(biāo)準(zhǔn)正確輸出

-s|--syslog

發(fā)送錯(cuò)誤到syslog相當(dāng)于標(biāo)準(zhǔn)錯(cuò)誤輸出

-q|--quiet

輸出信息少(只打印事件信息)

--exclude|<pattern>

排除文件或目錄時(shí),不區(qū)分大小寫(xiě)

--timefmt <fmt>

指定事件輸出的格式

--format <fmt>

打印使用指定的輸出類(lèi)似格式字符串,即實(shí)際監(jiān)控輸出的內(nèi)容。

-e

指定監(jiān)聽(tīng)指定的事件,如果省略,表示所有事件都進(jìn)行監(jiān)聽(tīng)

通過(guò)/usr/local/inotify-tools/bin/inotifywait --help命令獲取監(jiān)控事件信息。

1.3.4.2         inotify的事件

事件名稱(chēng)

事件說(shuō)明

access

文件或目錄內(nèi)容被讀取

modify

文件或目錄內(nèi)容被寫(xiě)入

attrib

文件或目錄屬性改變

close_write

文件或目錄關(guān)閉,在寫(xiě)入模式打開(kāi)之后關(guān)閉的。

close_nowrite

文件或目錄關(guān)閉,在只讀模式打開(kāi)之后關(guān)閉的。

close

文件或目錄關(guān)閉,不管讀或是寫(xiě)模式

open

文件或目錄被打開(kāi)

moved_to

文件或目錄被移動(dòng)到監(jiān)控的目錄中

moved_from

文件或目錄被移動(dòng)從監(jiān)控的目錄中。

move

文件或目錄不管移動(dòng)到或移動(dòng)出監(jiān)控目錄都觸發(fā)事件

create

文件或目錄創(chuàng)建在監(jiān)控的目錄中。

delete

文件或目錄被刪除在監(jiān)控的目錄中

delete_self

文件或目錄被刪除

unmount

文件系統(tǒng)包含的文件或目錄不能卸載

1.4 部署rsync+inotify過(guò)程

1.4.1 部署rsync守護(hù)進(jìn)程模式(一)

部署rsync守護(hù)進(jìn)程模式

   服務(wù)端的配置

   01:檢查是否安裝rsync

   02:配置rsyncd.conf配置文件

   03:創(chuàng)建rsync進(jìn)程管理用戶(hù)

   04:創(chuàng)建模塊的存儲(chǔ)目錄

   05:修改存儲(chǔ)目錄的屬主和屬組權(quán)限

   06:配置認(rèn)證密碼文件,授權(quán)為600權(quán)限

   07:?jiǎn)?dòng)rsync守護(hù)進(jìn)程服務(wù)

   08:設(shè)置rsync服務(wù)開(kāi)機(jī)自啟動(dòng)

   09:進(jìn)行測(cè)試

   客戶(hù)端的配置

   01:創(chuàng)建密碼文件,并授權(quán)600權(quán)限

   02:客戶(hù)端進(jìn)行測(cè)試

服務(wù)端代碼文件:

[root@backup nfsbackup]# vim/etc/rsyncd.conf

(省略部分內(nèi)容)

[backup]                              ##模塊名稱(chēng)

path = /backup

[nfsbackup]                              ##創(chuàng)建一個(gè)模塊

path = /nfsbackup

"/etc/rsyncd.conf" 20L,474C written

創(chuàng)建備份模塊

[root@backup ~]# mkdir /nfsbackup

授權(quán)屬主屬組

[root@backup ~]# chown -R rsync.rsync/nfsbackup/

查看授權(quán)情況

[root@backup ~]# ll -d /nfsbackup/

drwxr-xr-x 2 rsync rsync 4096 May 1109:22 /nfsbackup/

查看密碼文件

[root@backup ~]# cat/etc/rsync.password

rsync_backup:123456

查看密碼文件權(quán)限是否為600

[root@backup ~]# ll/etc/rsync.password

-rw------- 1 root root 20 May 4 17:51 /etc/rsync.password

[root@backup ~]#

[root@backup ~]# /etc/init.d/xinetdstatus

xinetd (pid 1810) is running...

[root@backup ~]# /etc/init.d/xinetdstop

Stopping xinetd:                                         [ OK ]

[root@backup ~]# rsync --daemon

[root@backup ~]# ps -ef |grep rsync

root      4955     1 0 09:25 ?       00:00:00 rsync --daemon

root      4959  4860 0 09:25 pts/0   00:00:00 grep rsync

[root@backup ~]#

1.4.2 安裝部署inotify(二)

1.4.2.1         手工測(cè)試inotify軟件監(jiān)控事件

打開(kāi)兩個(gè)相同的xshell窗口測(cè)試,在其中一個(gè)窗口輸入下面代碼:

[root@nfs01 data]# inotifywait-mrq /data/

/data/ DELETE oldboy.txt

/data/ CREATE oldboy.txt

/data/ OPEN oldboy.txt

/data/ ATTRIB oldboy.txt

/data/ CLOSE_WRITE,CLOSE oldboy.txt

在另外一個(gè)相同的窗口進(jìn)行操作,如創(chuàng)建,刪除,移動(dòng)等。觀(guān)察變化。

  • 測(cè)試create 事件

在NFS服務(wù)器上開(kāi)啟inotify相應(yīng)的監(jiān)控功能,并輸出信息

[root@nfs01 backup]#inotifywait -mqr --timefmt '%d/%y %H:%M' --format '%T %w%f' -e create /backup                  ###監(jiān)控backup創(chuàng)建事件顯示信息

12/17 23:18 /backup/oldbpy.txt

再開(kāi)啟一個(gè)NFS服務(wù)器連接窗口進(jìn)行測(cè)試驗(yàn)證create事件。

[root@nfs01 backup]# ls

m

[root@nfs01 backup]# mkdir oldbpy.txt

[root@nfs01 backup]# ls

m oldbpy.txt

[root@nfs01 backup]# rm oldbpy.txt/-fr

[root@nfs01 backup]#

說(shuō)明:只監(jiān)控create創(chuàng)建事件,其他事件沒(méi)有進(jìn)行監(jiān)控,其他事件產(chǎn)生,監(jiān)控服務(wù)沒(méi)有信息輸出。

可以簡(jiǎn)化命令和輸出信息:

[root@nfs01 backup]# inotifywait -mqr --format '%w%f' -e create /backup

/backup/1.txt                          監(jiān)控/backup目錄創(chuàng)建事件顯示信息。

/backup/2.txt

/backup/3.txt

/backup/4.txt

/backup/5.txt

再開(kāi)啟一個(gè)NFS服務(wù)器連接窗口進(jìn)行測(cè)試驗(yàn)證create事件。

[root@nfs01 backup]# mkdir {1..5}.txt

[root@nfs01 backup]# ls

1.txt 2.txt 3.txt 4.txt 5.txt m

[root@nfs01 backup]# rm 3.txt/ -fr               ##刪除事件沒(méi)有監(jiān)控,另一端也沒(méi)有信息輸出。

[root@nfs01 backup]# ls

1.txt 2.txt 4.txt 5.txt m

[root@nfs01 backup]#

  • 測(cè)試delete事件

在NFS服務(wù)器上開(kāi)啟inotify相應(yīng)的監(jiān)控功能,并輸出信息

[root@nfs01 backup]# ls

1.txt 2.txt 4.txt 5.txt m

[root@nfs01 backup]# rm -fr 5.txt/           ##刪除文件測(cè)試

[root@nfs01 backup]# rm -fr 2.txt/

 [root@nfs01 backup]# mkdir oldboy.txt          ###創(chuàng)建文件測(cè)試,但是沒(méi)有信息輸出

[root@nfs01 backup]#

再開(kāi)啟一個(gè)NFS服務(wù)器連接窗口進(jìn)行測(cè)試驗(yàn)證delete事件

[root@nfs01 backup]# inotifywait-mqr --format '%w%f' -e delete /backup

/backup/5.txt

/backup/2.txt              ##刪除會(huì)有信息輸出

  • 測(cè)試moved事件

在NFS服務(wù)器上開(kāi)啟inotify相應(yīng)的監(jiān)控功能,并輸出信息

[root@nfs01 backup]# inotifywait-mqr --format '%w%f' -e move /backup

/backup/oldboy.txt

/backup/1.txt

再開(kāi)啟一個(gè)NFS服務(wù)器連接窗口進(jìn)行測(cè)試驗(yàn)證move事件

[root@nfs01 backup]# ls

1.txt 4.txt m

[root@nfs01 backup]# mv oldboy.txt//tmp/

[root@nfs01 backup]# mkdir 4

[root@nfs01 backup]# rm 4.txt/ -fr

[root@nfs01 backup]# mv 1.txt/ /tmp/

[root@nfs01 backup]#

說(shuō)明:只監(jiān)控move移動(dòng)事件,其他事件并沒(méi)有進(jìn)行監(jiān)控,其他事件產(chǎn)生,監(jiān)控服務(wù)沒(méi)有信息輸出,因此利用監(jiān)控移動(dòng)事件,就對(duì)目錄中文件或目錄的移入和移出事件都監(jiān)控了。

知識(shí)點(diǎn)結(jié)論:

通過(guò)上面的測(cè)試實(shí)驗(yàn)可以發(fā)現(xiàn),有些監(jiān)控事件已經(jīng)包含了其他相應(yīng)事件的監(jiān)控功能,因此進(jìn)行監(jiān)控時(shí)可以根據(jù)要求精簡(jiǎn)相應(yīng)的監(jiān)控事件。

重要事件

包含事件

備注說(shuō)明

close

close_write , close_nowrite

文件或目錄關(guān)閉,不管讀寫(xiě)或是寫(xiě)模式;即包含寫(xiě)關(guān)閉或讀關(guān)閉

close_write

create

包含文件創(chuàng)建事件,但不包含目錄創(chuàng)建事件

move

move_to move_from

文件或目錄不管移動(dòng)到或移動(dòng)出監(jiān)控目錄都觸發(fā)事件,即包含信息移入或移除監(jiān)控目錄事件。

重要參數(shù)匯總:根據(jù)以上說(shuō)明,在實(shí)際使用時(shí),只要監(jiān)控以下事件即可:create創(chuàng)建,delete刪除,moved_to移入,close_write修改

1.4.2.2         rsync+inotify利用腳本進(jìn)行結(jié)合

需要通過(guò)相應(yīng)腳本實(shí)現(xiàn)目錄中變化文件信息推送,腳本編寫(xiě)思路演變過(guò)程如下:

  • 環(huán)境準(zhǔn)備:在服務(wù)器上添加nfsbackup模塊和nfsbackup目錄,并授權(quán)屬組和屬主。

[root@backup nfsbackup]# cat/etc/rsyncd.conf

tart##

uid = rsync

gid = rsync

use chroot = no

max connections = 200

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

ignore errors

read only = false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

[backup]                              ##模塊名稱(chēng)

path = /backup

[nfsbackup]                              ##模塊名稱(chēng)

path = /nfsbackup

[root@backup nfsbackup]#

[root@backup backup]# chown rsync.rsync /nfsbackup/

  • 客戶(hù)端上編寫(xiě)腳本實(shí)時(shí)監(jiān)控目錄中信息變化,并獲取變化信息。

# 第一步:編寫(xiě)監(jiān)控命令

#!/bin/bash

#desc: monitor /data and pushdatainfo to backup_server

/usr/bin/inotifywait -mrq --format"%w%f" -e moved_to,delete,create,close_write /data|\

第二步:編寫(xiě)腳本編寫(xiě)推送命令rsync 進(jìn)行無(wú)差異同步 --delete /data/

while read line

do

rsync -az --delete /data/rsync_backup@172.16.1.41::nfsbackup --password-file=/etc/rsync.password

done

  • 實(shí)現(xiàn)腳本監(jiān)控目錄信息事件,并讓腳本在后臺(tái)運(yùn)行。

[root@nfs01 data]# sh/server/scripts/monitor.sh &>/dev/null &

[1] 9891

[root@nfs01 data]#

1.5 inotify的優(yōu)缺點(diǎn)介紹

  • 監(jiān)控文件系統(tǒng)事件變化,通過(guò)同步工具實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)同步。

  • 并發(fā)如果大于200個(gè)文件(4-100k),同步就會(huì)有延遲。

  • 前面寫(xiě)的腳本,每次都是全部推送一次,但確實(shí)是增量的,也可以只同步變化的文件,不變化的不理。

  • 監(jiān)控到事件后,請(qǐng)用rsync同步是單進(jìn)程的(加&并發(fā)),sersync是多進(jìn)程同步。

  • inotify服務(wù)優(yōu)化

[root@nfs01 etc]# ls-l /proc/sys/fs/inotify/

total 0

-rw-r--r-- 1 root root 0 May 12 16:26 max_queued_events

-rw-r--r-- 1 root root 0 May 12 16:26 max_user_instances

-rw-r--r-- 1 root root 0 May 12 16:26 max_user_watches

[root@nfs01 inotify]# catmax_user_watches

8192

[root@nfs01 inotify]# catmax_user_instances

128

[root@nfs01 inotify]# cat max_queued_events

16384

[root@nfs01 inotify]#

[root@nfs01 data]# cd/proc/sys/fs/inotify/

[root@nfs01 inotify]# ls

max_queued_events max_user_instances max_user_watches

[root@nfs01 inotify]# echo "50000000">/proc/sys/fs/inotify/max_user_watches

[root@nfs01 inotify]# echo "50000000">/proc/sys/fs/inotify/max_queued_events

[root@nfs01 inotify]# ##說(shuō)明:以上配置重啟可能會(huì)失效,需要放置在rc.local文件中。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

文章題目:inotify+rsync實(shí)時(shí)同步-創(chuàng)新互聯(lián)
本文鏈接:http://jinyejixie.com/article2/gpjoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站Google、響應(yīng)式網(wǎng)站品牌網(wǎng)站制作、微信公眾號(hào)、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
广南县| 汕头市| 全南县| 山丹县| 鄯善县| 兰溪市| 张家口市| 韶山市| 张家港市| 兰州市| 南川市| 余姚市| 乃东县| 山阴县| 隆昌县| 民丰县| 宿迁市| 青田县| 三台县| 视频| 孟州市| 区。| 当阳市| 宁陕县| 罗江县| 克拉玛依市| 潜山县| 乡宁县| 景洪市| 安乡县| 鹤岗市| 泰安市| 汾西县| 台中县| 老河口市| 上高县| 朝阳县| 华坪县| 通山县| 沁水县| 师宗县|