自動(dòng)化運(yùn)維之saltstack(三)常用模塊使用之file

1、file.access

創(chuàng)新互聯(lián)建站主營(yíng)博望網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件定制開發(fā),博望h5小程序制作搭建,博望網(wǎng)站營(yíng)銷推廣歡迎博望等地區(qū)企業(yè)咨詢

file.access:測(cè)試salt進(jìn)程對(duì)指定文件是否有訪問(wèn)權(quán)限

[root@server01 salt]# salt '*' file.access /etc/passwd f
server02:
    True
server03:
    True
[root@server01 salt]# salt '*' file.access /etc/passwd r
server03:
    True
server02:
    True
[root@server01 salt]# salt '*' file.access /etc/passwd w
server02:
    True
server03:
    True
[root@server01 salt]# salt '*' file.access /etc/passwd x
server02:
    False
server03:
    False
[root@server01 salt]#

2、file.touch

file.touch:如果文件不存在創(chuàng)建文件,相當(dāng)于touch file,如果存在就更新訪問(wèn)時(shí)間或者修改時(shí)間

[root@server01 salt]# salt '*' file.touch /opt/salt-test
server03:
    True
server02:
    True
[root@server01 salt]# salt '*' cmd.run 'stat /opt/salt-test'
server03:
      File: '/opt/salt-test'
      Size: 0           Blocks: 0          IO Block: 4096   regular empty file
    Device: 803h/2051d  Inode: 134776101   Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2017-06-14 01:58:22.354868060 -0400
    Modify: 2017-06-14 01:58:22.354868060 -0400
    Change: 2017-06-14 01:58:22.354868060 -0400
     Birth: -
server02:
      File: '/opt/salt-test'
      Size: 0           Blocks: 0          IO Block: 4096   regular empty file
    Device: 803h/2051d  Inode: 134326635   Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2017-06-14 01:58:22.380650895 -0400
    Modify: 2017-06-14 01:58:22.380650895 -0400
    Change: 2017-06-14 01:58:22.380650895 -0400
     Birth: -
[root@server01 salt]#

3、file.append

file.append:向文件末尾追加內(nèi)容

[root@server01 salt]# salt '*' file.append /opt/salt-test "salt test file001"
server02:
    Wrote 1 lines to "/opt/salt-test"
server03:
    Wrote 1 lines to "/opt/salt-test"
[root@server01 salt]# salt '*' file.append /opt/salt-test "salt test file002"
server03:
    Wrote 1 lines to "/opt/salt-test"
server02:
    Wrote 1 lines to "/opt/salt-test"
[root@server01 salt]# salt '*' file.append /opt/salt-test "salt test file003"
server02:
    Wrote 1 lines to "/opt/salt-test"
server03:
    Wrote 1 lines to "/opt/salt-test"
[root@server01 salt]#

查看追加結(jié)果:

[root@server01 salt]# salt '*' cmd.run 'cat /opt/salt-test'
server02:
    salt test file001
    salt test file002
    salt test file003
server03:
    salt test file001
    salt test file002
    salt test file003
[root@server01 salt]#

4、file.basename 和file.dirname

file.basename:返回給定路徑的最后一部分

[root@server01 salt]# salt '*' file.basename /opt/salt-test
server03:
    salt-test
server02:
    salt-test
[root@server01 salt]# salt '*' file.basename /usr/local/webserver
server03:
    webserver
server02:
    webserver
[root@server01 salt]#

file.dirname:返回指定路徑的目錄部分

[root@server01 salt]# salt '*' file.dirname /opt/salt-test
server03:
    /opt
server02:
    /opt
[root@server01 salt]# salt '*' file.dirname /usr/local/webserver
server02:
    /usr/local
server03:
    /usr/local
[root@server01 salt]#

5、file.chgrp和file.chown

file.chgrp:修改文件的數(shù)組

file.chown:修改文件的屬主和數(shù)組

file.chgrp用法:

[root@server01 salt]# salt '*' cmd.run 'ls -al /opt/salt-test'
server03:
    -rw-r--r-- 1 root root 54 Jun 14 02:01 /opt/salt-test
server02:
    -rw-r--r-- 1 root root 54 Jun 14 02:01 /opt/salt-test
[root@server01 salt]# salt '*' file.chgrp /opt/salt-test nginx
server03:
    None
server02:
    None
[root@server01 salt]# salt '*' cmd.run 'ls -al /opt/salt-test'
server02:
    -rw-r--r-- 1 root nginx 54 Jun 14 02:01 /opt/salt-test
server03:
    -rw-r--r-- 1 root nginx 54 Jun 14 02:01 /opt/salt-test
[root@server01 salt]#

file.chown用法:

[root@server01 salt]# salt '*' cmd.run 'ls -al /opt/salt-test'
server02:
    -rw-r--r-- 1 root nginx 54 Jun 14 02:01 /opt/salt-test
server03:
    -rw-r--r-- 1 root nginx 54 Jun 14 02:01 /opt/salt-test
[root@server01 salt]# salt '*' file.chown /opt/salt-test nginx nginx
server02:
    None
server03:
    None
[root@server01 salt]# salt '*' cmd.run 'ls -al /opt/salt-test'
server03:
    -rw-r--r-- 1 nginx nginx 54 Jun 14 02:01 /opt/salt-test
server02:
    -rw-r--r-- 1 nginx nginx 54 Jun 14 02:01 /opt/salt-test
[root@server01 salt]#

6、file.copy

file.copy:從源目錄拷貝文件到目標(biāo)目錄。如果要拷貝目錄,需要添加recurse標(biāo)簽,默認(rèn)情況下會(huì)覆蓋目標(biāo)目錄中的相同路徑的文件,并保留其他文件。remove_existing選項(xiàng)會(huì)提前移除目標(biāo)目錄中的所有文件,然后再?gòu)脑绰窂娇截愇募侥繕?biāo)路徑

[root@server01 salt]# salt '*' file.copy /etc/hosts /opt/hosts
server03:
    True
server02:
    True
[root@server01 salt]# salt '*' cmd.run 'ls -al /opt/hosts'
server02:
    -rw-r--r-- 1 root root 323 Jun 14 02:18 /opt/hosts
server03:
    -rw-r--r-- 1 root root 323 Jun 14 02:18 /opt/hosts
[root@server01 salt]#
[root@server01 salt]# salt '*' file.copy /var/spool/cron/ /tmp/ recurse=True
server03:
    True
server02:
    True
[root@server01 salt]#  salt '*' cmd.run 'ls -l /tmp/'
server03:
    total 4
    -rw-r--r-- 1 root root 52 Jun 14 02:21 root
server02:
    total 4
    -rw-r--r-- 1 root root 52 Jun 14 02:21 root
[root@server01 salt]#

[root@server01 salt]# salt '*' file.copy /var/spool/cron/ /tmp/ recurse=True remove_existing=True

server03:
    ERROR: Could not copy '/var/spool/cron/' to '/tmp/'
server02:
    ERROR: Could not copy '/var/spool/cron/' to '/tmp/'
[root@server01 salt]#
添加remove_existing=True參數(shù)報(bào)錯(cuò),翻閱了一些資料,沒(méi)知道對(duì)應(yīng)的解釋,不知道有沒(méi)有人知道到底哪里出問(wèn)題了,坐等指點(diǎn)!!!!

7、file.diskusage

file.diskusage:遞歸計(jì)算指定目錄所占的磁盤空間并以字節(jié)為單位返回計(jì)算出的值

[root@server01 salt]# salt '*' file.diskusage /etc/passwd
server03:
    1126
server02:
    1126
[root@server01 salt]# salt '*' file.diskusage /etc/shadow
server03:
    708
server02:
    708
[root@server01 salt]#

8、file.find

file,find:返回指定搜索條件的文件路徑,與Linux中的find命令,參數(shù)也兼容find命令

[root@server01 salt]# salt '*' file.find /etc/ name=minion
server03:
    - /etc/salt/minion
    - /etc/salt/pki/minion
server02:
    - /etc/salt/minion
    - /etc/salt/pki/minion
[root@server01 salt]#

9、file.get_gid、file.get_group、file.get_uid、file.get_user分別表示返回指定文件的數(shù)組ID,返回指定文件的數(shù)組,返回指定文件的屬主id、返回指定文件的屬

[root@server01 salt]# salt '*' file.get_gid /etc/shadow
server02:
    0
server03:
    0
[root@server01 salt]# salt '*' file.get_group /etc/shadow
server03:
    root
server02:
    root
[root@server01 salt]# salt '*' file.get_uid /etc/shadow
server03:
    0
server02:
    0
[root@server01 salt]# salt '*' file.get_user /etc/shadow
server02:
    root
server03:
    root
[root@server01 salt]#

10、file.grep

file.grep:返回指定文件中查找字符串,跟Linux下grep命令類似,參數(shù)可以兼容grep命令

[root@server01 salt]# salt '*' file.grep  /etc/passwd ssh
server03:
    ----------
    pid:
        28202
    retcode:
        0
    stderr:
    stdout:
        sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
server02:
    ----------
    pid:
        13034
    retcode:
        0
    stderr:
    stdout:
        sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
[root@server01 salt]#
[root@server01 salt]# salt '*' file.grep /etc/sysconfig/network-scripts/ifcfg-ens33 DNS " -i"
server02:
    ----------
    pid:
        13096
    retcode:
        0
    stderr:
    stdout:
        PEERDNS=yes
        IPV6_PEERDNS=yes
        DNS1=114.114.114.114
server03:
    ----------
    pid:
        28286
    retcode:
        0
    stderr:
    stdout:
        PEERDNS=yes
        IPV6_PEERDNS=yes
        DNS1=114.114.114.114
[root@server01 salt]#

11、file.makdirs

file.makedirs:創(chuàng)建目錄,需要確認(rèn)目錄所包含的路徑是否可用。注意,路徑末尾一定要加"/",否則就會(huì)被當(dāng)做父目錄,比如傳入/tmp/pfile。就會(huì)被當(dāng)做/tmp/處理,而傳入/tmp/pfile/則會(huì)被當(dāng)做/tmp/pfile/處理。另外,雖然該模塊名稱包含的dirs,但是其實(shí)無(wú)法批量創(chuàng)建多個(gè)目錄,如果傳入多個(gè)參數(shù)默認(rèn)值處理第一個(gè)參數(shù),但是可以創(chuàng)建多級(jí)目錄,及時(shí)上級(jí)目錄不存在。

[root@server01 salt]# salt '*' file.makedirs /tmp/pfile
server03:
    Directory '/tmp' already exists
server02:
    Directory '/tmp' already exists
[root@server01 salt]# salt '*' file.makedirs /tmp/pfile/
server02:
    None
server03:
    None
[root@server01 salt]# salt '*' cmd.run 'ls -l /tmp/'
server03:
    total 0
    drwxr-xr-x 2 root root 6 Jun 14 04:43 pfile
server02:
    total 0
    drwxr-xr-x 2 root root 6 Jun 14 04:43 pfile
[root@server01 salt]#
[root@server01 salt]# salt '*' file.makedirs /tmp/test01/test02/test03/test04/
server03:
    None
server02:
    None
[root@server01 salt]# salt '*' cmd.run 'tree /tmp/'
server03:
    /tmp/
    |-- pfile
    `-- test01
        `-- test02
            `-- test03
                `-- test04
    
    5 directories, 0 files
server02:
    /tmp/
    |-- pfile
    `-- test01
        `-- test02
            `-- test03
                `-- test04
    
    5 directories, 0 files
[root@server01 salt]#

12、file.mkdir

file.mkdir:確認(rèn)一個(gè)目錄是否可用,如果可以用,就創(chuàng)建目錄,與上面的file.makedirs不同的是,參數(shù)的末尾可以不帶"/",也可以創(chuàng)建成功。另外,該模塊支持批量創(chuàng)建多個(gè)目錄,也支持創(chuàng)建多級(jí)目錄

[root@server01 salt]# salt '*' file.mkdir /tmp/saltdir
server03:
    None
server02:
    None
[root@server01 salt]# salt '*' cmd.run 'ls -l /tmp'
server03:
    total 0
    drwxr-xr-x 2 root root  6 Jun 14 04:43 pfile
    drwxr-xr-x 2 root root  6 Jun 14 04:49 saltdir
    drwxr-xr-x 3 root root 20 Jun 14 04:44 test01
server02:
    total 0
    drwxr-xr-x 2 root root  6 Jun 14 04:43 pfile
    drwxr-xr-x 2 root root  6 Jun 14 04:49 saltdir
    drwxr-xr-x 3 root root 20 Jun 14 04:44 test01
[root@server01 salt]# salt '*' file.mkdir /tmp/saltdir01 /tmp/saltdir02 /tmp/saltdir03
server02:
    None
server03:
    None
[root@server01 salt]# salt '*' file.mkdir /tmp/pfile/saltfile
server03:
    None
server02:
    None
[root@server01 salt]# salt '*' cmd.run 'ls -l /tmp/saltdir*'
server02:
    /tmp/saltdir:
    total 0
    
    /tmp/saltdir01:
    total 0
server03:
    /tmp/saltdir:
    total 0
    
    /tmp/saltdir01:
    total 0
[root@server01 salt]# salt '*' cmd.run 'ls -ld /tmp/pfile/saltfile'
server03:
    drwxr-xr-x 2 root root 6 Jun 14 04:50 /tmp/pfile/saltfile
server02:
    drwxr-xr-x 2 root root 6 Jun 14 04:50 /tmp/pfile/saltfile
[root@server01 salt]#

13、file.move

file.move:移動(dòng)一個(gè)文件或者目錄

[root@server01 salt]# salt '*' file.move /tmp/pfile/saltfile /tmp/move-saltfile
server02:
    ----------
    comment:
        '/tmp/pfile/saltfile' moved to '/tmp/move-saltfile'
    result:
        True
server03:
    ----------
    comment:
        '/tmp/pfile/saltfile' moved to '/tmp/move-saltfile'
    result:
        True
[root@server01 salt]# salt '*' cmd.run 'ls -ld /tmp/move-saltfile'
server03:
    drwxr-xr-x 2 root root 6 Jun 14 04:50 /tmp/move-saltfile
server02:
    drwxr-xr-x 2 root root 6 Jun 14 04:50 /tmp/move-saltfile
[root@server01 salt]#

14、file.remove

file.remove:刪除文件。注意:該模塊一次只能接受一個(gè)參數(shù)。

[root@server01 salt]# salt '*' file.remove /tmp/test01
server02:
    True
server03:
    True
[root@server01 salt]# salt '*' cmd.run 'ls -l /tmp/'
server02:
    total 0
    drwxr-xr-x 2 root root 6 Jun 14 04:50 move-saltfile
    drwxr-xr-x 2 root root 6 Jun 14 04:54 pfile
    drwxr-xr-x 2 root root 6 Jun 14 04:49 saltdir
    drwxr-xr-x 2 root root 6 Jun 14 04:50 saltdir01
server03:
    total 0
    drwxr-xr-x 2 root root 6 Jun 14 04:50 move-saltfile
    drwxr-xr-x 2 root root 6 Jun 14 04:54 pfile
    drwxr-xr-x 2 root root 6 Jun 14 04:49 saltdir
    drwxr-xr-x 2 root root 6 Jun 14 04:50 saltdir01
[root@server01 salt]#

15、file.rename

file.rename:重命名一個(gè)文件或者目錄

[root@server01 salt]# salt '*' file.rename /tmp/saltdir /tmp/saltdir-rename
server03:
    True
server02:
    True
[root@server01 salt]# salt '*' cmd.run 'ls -l /tmp/'
server02:
    total 4
    drwxr-xr-x 2 root root 6 Jun 14 04:50 move-saltfile
    drwxr-xr-x 2 root root 6 Jun 14 04:54 pfile
    -rw-r--r-- 1 root root 9 Jun 14 05:01 salt-test-file
    drwxr-xr-x 2 root root 6 Jun 14 04:49 saltdir-rename
    drwxr-xr-x 2 root root 6 Jun 14 04:50 saltdir01
server03:
    total 4
    drwxr-xr-x 2 root root 6 Jun 14 04:50 move-saltfile
    drwxr-xr-x 2 root root 6 Jun 14 04:54 pfile
    -rw-r--r-- 1 root root 9 Jun 14 05:01 salt-test-file
    drwxr-xr-x 2 root root 6 Jun 14 04:49 saltdir-rename
    drwxr-xr-x 2 root root 6 Jun 14 04:50 saltdir01
[root@server01 salt]# salt '*' file.rename /tmp/salt-test-file /tmp/salt-test-file-rename
server03:
    True
server02:
    True
[root@server01 salt]# salt '*' cmd.run 'ls -l /tmp/'
server03:
    total 4
    drwxr-xr-x 2 root root 6 Jun 14 04:50 move-saltfile
    drwxr-xr-x 2 root root 6 Jun 14 04:54 pfile
    -rw-r--r-- 1 root root 9 Jun 14 05:01 salt-test-file-rename
    drwxr-xr-x 2 root root 6 Jun 14 04:49 saltdir-rename
    drwxr-xr-x 2 root root 6 Jun 14 04:50 saltdir01
server02:
    total 4
    drwxr-xr-x 2 root root 6 Jun 14 04:50 move-saltfile
    drwxr-xr-x 2 root root 6 Jun 14 04:54 pfile
    -rw-r--r-- 1 root root 9 Jun 14 05:01 salt-test-file-rename
    drwxr-xr-x 2 root root 6 Jun 14 04:49 saltdir-rename
    drwxr-xr-x 2 root root 6 Jun 14 04:50 saltdir01
[root@server01 salt]#

16、file.stats

file.stats:返回包含指定文件狀態(tài)的詞典

[root@server01 salt]# salt '*' file.stats /etc/shadow
server03:
    ----------
    atime:
        1497423661.56
    ctime:
        1497420465.01
    gid:
        0
    group:
        root
    inode:
        67109282
    mode:
        0
    mtime:
        1497420465.01
    size:
        708
    target:
        /etc/shadow
    type:
        file
    uid:
        0
    user:
        root
server02:
    ----------
    atime:
        1497423661.24
    ctime:
        1497420465.01
    gid:
        0
    group:
        root
    inode:
        67109305
    mode:
        0
    mtime:
        1497420465.01
    size:
        708
    target:
        /etc/shadow
    type:
        file
    uid:
        0
    user:
        root
[root@server01 salt]#

17、file.rmdir

file.rmdir:刪除指定空目錄,如果目錄不為空,則執(zhí)行失敗,即返回失敗。

[root@server01 salt]# salt '*' file.rmdir /tmp/pfile
server02:
    True
server03:
    True
[root@server01 salt]# salt '*' file.rmdir /tmp/saltdir01/
server03:
    Directory not empty
server02:
    Directory not empty
[root@server01 salt]# salt '*' file.rmdir /tmp/saltdir01
server02:
    Directory not empty
server03:
    Directory not empty
[root@server01 salt]#

18、file.search

file.search:搜索pattern參數(shù)是否出現(xiàn)在指定的文件中

[root@server01 salt]# salt '*' file.search /etc/passwd root
server03:
    True
server02:
    True
[root@server01 salt]# salt '*' file.search /etc/passwd 'ssh'
server02:
    True
server03:
    True
[root@server01 salt]#

19、file.readdir

file.readdir:返回包含一個(gè)目錄的內(nèi)容列表

[root@server01 salt]# salt '*' file.readdir /tmp/saltdir01
server03:
    - .
    - ..
    - salt-test-file-rename
server02:
    - .
    - ..
    - salt-test-file-rename
[root@server01 salt]# salt '*' cmd.run 'ls -l /tmp/saltdir01/'
server02:
    total 4
    -rw-r--r-- 1 root root 9 Jun 14 05:08 salt-test-file-rename
server03:
    total 4
    -rw-r--r-- 1 root root 9 Jun 14 05:08 salt-test-file-rename
[root@server01 salt]#

20、file.managed

   當(dāng)在系統(tǒng)中有些文件分部在成百上千臺(tái)機(jī)器經(jīng)常修改時(shí),使用saltstack的file.managed管理文件狀態(tài)就會(huì)讓你方便很多。能讓你一鍵完成這所有修改達(dá)到你想要的文件狀態(tài),

[root@salt-master base]# tree
.
├── system
│   ├── files
│   │   └── hosts
│   └── hosts.sls
└── top.sls
  
2 directories, 3
files
[root@salt-master base]# cat top.sls               
base:                       #這里指定的環(huán)境是base,所以這個(gè)top.sls在/srv/salt/base目錄下
  "*":                      # “*”是所有主機(jī)的意思,指定單個(gè)主機(jī)直接寫“salt-minion1”
    - system.hosts                #這里指調(diào)用了那些sls配置文件,“點(diǎn)”在這里是目錄分級(jí)
                          #也就是system沒(méi)有可以下的hosts.sls配置文件
  
[root@salt-master
base]# cat system/hosts.sls
/etc/hosts:                     #這個(gè)是配置ID和文件存放位置,是不可重復(fù)的
  file.managed:                  #這里調(diào)用了“file.managed”salt的文件管理模塊
    - source: salt://system/files/hosts #source是指定文件源,"salt://"是指salt項(xiàng)目下文件
    - mode: 644                #文件權(quán)限644
    - user: root               #文件用戶屬主
    - group: root               #文件的用戶組

上面文件狀態(tài)配置執(zhí)行詳解:

[root@salt-master system]
# salt 'salt-minion1' state.highstate  
#salt '執(zhí)行節(jié)點(diǎn)' 執(zhí)行模塊
  
下面是執(zhí)行結(jié)果
salt-minion1:                            #執(zhí)行節(jié)點(diǎn)
----------
          ID: /etc/hosts                #配置ID
    Function: file.managed                   #模塊
      Result: True                      #執(zhí)行結(jié)果True為成功
     Comment: File /etc/hosts updated           #文件執(zhí)行操作【更新】
     Started: 14:15:55.120499                #執(zhí)行命令開始時(shí)間
    Duration: 24.284 ms                    #執(zhí)行的時(shí)長(zhǎng)
     Changes:                         #是否產(chǎn)生更改
              ----------
              diff:
                  --- 
                  +++ 
                  @@ -1,2 +1,4 @@
                   127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
                   ::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain
                  +salt-master 10.0.0.11    #在這個(gè)帶有“+”號(hào)的行是增加的,"-"號(hào)為減少行
                  +salt-minion1 10.0.0.21
  
Summary
------------
Succeeded: 1 (changed=1)                    #執(zhí)行成功1個(gè),有一個(gè)文件狀態(tài)發(fā)生更改
Failed:    0                         #執(zhí)行失敗0個(gè)
------------
Total states run:     1                  #執(zhí)行狀態(tài)個(gè)數(shù)

salt命令管理文件

salt “*”file.managed /etc/zabbix/zabbix_agentd.conf salt://file/zabbix_agentd.conf root root 755
salt的sls文件寫法
/etc/zabbix/zabbix_agentd.conf:
 file.managed:
- source: salt://file/zabbix_agentd.conf
- user: root
- group: root
- mode: 755

目錄管理file.directory

/etc/zabbix/zabbix_agentd.conf.d:
 file.directory:
- user: root
- group: root
- mode: 755
- makedirs: Ture         #如果此目錄用戶不存在自動(dòng)創(chuàng)建
- recurse:             #如果想強(qiáng)制將屬注數(shù)組權(quán)限遞歸到文件夾內(nèi)文件可以使用這個(gè)
  - user
  - group
  - mode

網(wǎng)站欄目:自動(dòng)化運(yùn)維之saltstack(三)常用模塊使用之file
標(biāo)題來(lái)源:http://bm7419.com/article24/iihjje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站電子商務(wù)、動(dòng)態(tài)網(wǎng)站網(wǎng)站排名、靜態(tài)網(wǎng)站、做網(wǎng)站

廣告

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

成都做網(wǎng)站