溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ansile(2)模塊之synchronize

發(fā)布時間:2020-08-05 11:24:04 來源:網(wǎng)絡(luò) 閱讀:1472 作者:ckl893 欄目:大數(shù)據(jù)

ansible synchronize作用跟rsync很相似,具體參數(shù)如下:

參數(shù)內(nèi)容,均來自官網(wǎng),如果有出入,以官網(wǎng)為主

參數(shù)
是否必須默認選項說明
archivenoyes

yes

no

rsync鏡像遞歸標志,啟用遞歸,鏈接,權(quán)限,時間,屬主,屬組標志和 -D
checksumnono

yes

no

跳過基本的校驗
compressnoyes

yes

no

在傳輸過程中壓縮文件數(shù)據(jù)。在大多數(shù)情況下,請保持啟用,除非它導致問題。
copy_linksnono

yes

no

將符號鏈接復制為它們所指向的項(引用對象),而不是符號鏈接。
deletenono

yes

no

刪除src路徑中不存在的dest中的文件(傳輸后,不在之前)。此選項需要recursive = yes。
destyes

要同步源的目標主機上的路徑;該路徑可以是絕對路徑或相對路徑。
dest_portno ansible_ssh_port的值設(shè)定,remote_port配置設(shè)置,如果ssh客戶端沒有設(shè)置的話
目標主機上ssh的端口號。在ansible 2.0之前,ansible_ssh_port庫存變量優(yōu)先于此值。
dirsnono

yes

no


傳輸目錄而不進行遞歸
existing_onlynono

yes

no

跳過在接收器上創(chuàng)建一個新文件。
groupno遞歸選項的值

yes

no

保留組
linksno遞歸選項的值

yes

no

將符號鏈接復制為符號鏈接。
modenopush

yes

no

指定同步的方向。在推模式下,localhost或delegate是源;在拉模式下,遠程主機在上下文中是源。
ownerno遞歸選項的值

yes

no

保留屬主
partialno

告訴rsync保留一些文件,這應(yīng)該使以后的文件傳輸?shù)钠溆嗖糠帧?/td>
permsno遞歸選項的值

yes

no

保留權(quán)限
recursiveno遞歸選項的值

yes

no

遞歸到目錄。
rsync_optsno

通過傳入數(shù)組來指定其他rsync選項。
rsync_pathno

指定要在遠程主機上運行的rsync命令。請參見rsync手冊頁上的--rsync-path。
rsync_timeoutno

以秒為單位指定rsync命令的--timeout。
set_remote_usernoTrue
put user @為遠程路徑。如果您有自定義ssh配置為與庫存用戶不匹配的主機定義遠程用戶,則應(yīng)將此參數(shù)設(shè)置為“no”。
srcyes

將同步到目標的源主機上的路徑;路徑可以是絕對路徑或相對路徑。
timesno遞歸選項的值

yes

no

保存修改時間
use_ssh_argsnono

yes

no

使用ansible.cfg中指定的ssh_args
verify_hostno

驗證目標主機密鑰。

 

1.同步目錄下文件:

源文件:

# ll
total 4
lrwxrwxrwx 1 root root    8 Dec 28 17:39 fk -> /data/fm
-rw-r--r-- 1 root root 4096 May 31  2016 p.txt


同步目錄下文件,而不是目錄:

# ansible webserver -m synchronize -a "src=/root/dog/ dest=/tmp/"
172.16.110.48 | SUCCESS => {
    "changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dog/\" \"172.16.110.48:/tmp/\"", 
    "msg": ".d..t...... ./\n", 
    "rc": 0, 
    "stdout_lines": [
        ".d..t...... ./"
    ]
}
172.16.110.47 | SUCCESS => {
    "changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dog/\" \"172.16.110.47:/tmp/\"", 
    "msg": ".d..t...... ./\n", 
    "rc": 0, 
    "stdout_lines": [
        ".d..t...... ./"
    ]
}


同步了所有文件

# ll
total 8
drwxr-xr-x  2 root root   29 Dec 28 17:39 dog
lrwxrwxrwx  1 root root    8 Dec 28 17:39 fk -> /data/fm //無效鏈接,源不存在

2.同步整個目錄:

# ansible webserver -m synchronize -a "src=/root/dog dest=/tmp/" 
172.16.110.48 | SUCCESS => {
    "changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dog\" \"172.16.110.48:/tmp/\"", 
    "msg": "cd+++++++++ dog/\ncL+++++++++ dog/fk -> /data/fm\n<f+++++++++ dog/p.txt\n", 
    "rc": 0, 
    "stdout_lines": [
        "cd+++++++++ dog/", 
        "cL+++++++++ dog/fk -> /data/fm", 
        "<f+++++++++ dog/p.txt"
    ]
}
172.16.110.47 | SUCCESS => {
    "changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dog\" \"172.16.110.47:/tmp/\"", 
    "msg": "cd+++++++++ dog/\ncL+++++++++ dog/fk -> /data/fm\n<f+++++++++ dog/p.txt\n", 
    "rc": 0, 
    "stdout_lines": [
        "cd+++++++++ dog/", 
        "cL+++++++++ dog/fk -> /data/fm", 
        "<f+++++++++ dog/p.txt"
    ]
}

同步了整個目錄

# ll
total 8
drwxr-xr-x  2 root root   29 Dec 28 17:39 dog


3.同步時候保持屬主,屬組,權(quán)限,鏈接,同時傳輸?shù)臅r候使用壓縮

同步前文件詳情:

# ll dog/
total 8
-rw-r--r-- 1 ckl  ckl     9 Dec 29 13:05 em_f
lrwxrwxrwx 1 root root    8 Dec 28 17:39 fk -> /data/fm
-rwx------ 1 root root 4096 May 31  2016 p.txt


同步:

# ansible webserver -m synchronize -a "compress=yes group=yes links=yes  src=/root/dog/ dest=/tmp/sync_dir"         
172.16.110.47 | SUCCESS => {
    "changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dog/\" \"172.16.110.47:/tmp/sync_dir\"", 
    "msg": ".d..t...... ./\n<f+++++++++ em_f\ncL+++++++++ fk -> /data/fm\n<f+++++++++ p.txt\n", 
    "rc": 0, 
    "stdout_lines": [
        ".d..t...... ./", 
        "<f+++++++++ em_f", 
        "cL+++++++++ fk -> /data/fm", 
        "<f+++++++++ p.txt"
    ]
}
172.16.110.48 | SUCCESS => {
"changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dog/\" \"172.16.110.48:/tmp/sync_dir\"", 
    "msg": ".d..t...... ./\n<f+++++++++ em_f\ncL+++++++++ fk -> /data/fm\n<f+++++++++ p.txt\n", 
    "rc": 0, 
    "stdout_lines": [
        ".d..t...... ./", 
        "<f+++++++++ em_f", 
        "cL+++++++++ fk -> /data/fm", 
        "<f+++++++++ p.txt"
    ]
}

    

結(jié)果:(權(quán)限及屬性保持不變)

# ll
total 8
-rw-r--r-- 1 ckl  ckl     9 Dec 29 13:05 em_f
lrwxrwxrwx 1 root root    8 Dec 28 17:39 fk -> /data/fm //無效鏈接,源不存在
-rwx------ 1 root root 4096 May 31  2016 p.txt


4.刪除目標上的文件:

刪除前文件:

# ll
total 8
-rw-r--r-- 1 ckl  ckl     9 Dec 29 13:05 em_f
lrwxrwxrwx 1 root root    8 Dec 28 17:39 fk -> /data/fm
-rwx------ 1 root root 4096 May 31  2016 p.txt


刪除:

# ansible webserver -m synchronize -a "src=/root/dele/ dest=/tmp/sync_dir delete=yes"
172.16.110.47 | SUCCESS => {
    "changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --delete-after --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dele/\" \"172.16.110.47:/tmp/sync_dir\"", 
    "msg": "*deleting   dele/\n*deleting   p.txt\n*deleting   fk\n*deleting   em_f\n", 
    "rc": 0, 
    "stdout_lines": [
        "*deleting   dele/", 
        "*deleting   p.txt", 
        "*deleting   fk", 
        "*deleting   em_f"
    ]
}
172.16.110.48 | SUCCESS => {
    "changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --delete-after --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dele/\" \"172.16.110.48:/tmp/sync_dir\"", 
    "msg": "*deleting   dele/\n*deleting   p.txt\n*deleting   fk\n*deleting   em_f\n", 
    "rc": 0, 
    "stdout_lines": [
        "*deleting   dele/", 
        "*deleting   p.txt", 
         "*deleting   fk", 
        "*deleting   em_f"
    ]
}

查看目標文件:

# ll /tmp/sync_dir/
total 0

5.同步鏈接時,同步源文件

# ll
total 8
-rw-r--r-- 1 ckl  ckl     9 Dec 29 13:05 em_f
lrwxrwxrwx 1 root root    8 Dec 28 17:39 fk -> /data/fm
-rwx------ 1 root root 4096 May 31  2016 p.txt
drwxr-xr-x 2 root root   20 Dec 29 13:15 wu
[root@localhost dog]# ll *
-rw-r--r-- 1 ckl  ckl     9 Dec 29 13:05 em_f
lrwxrwxrwx 1 root root    8 Dec 28 17:39 fk -> /data/fm
-rwx------ 1 root root 4096 May 31  2016 p.txt
wu:
total 4
-rw-r--r-- 1 root root 14 Dec 29 13:15 kk.txt

同步:

# ansible webserver -m synchronize -a "compress=yes group=yes copy_links=yes dirs=yes src=/root/dog/ dest=/tmp/sync_dir" 
172.16.110.48 | SUCCESS => {
    "changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --copy-links --dirs --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dog/\" \"172.16.110.48:/tmp/sync_dir\"", 
    "msg": ".d..t...... ./\n<f+++++++++ em_f\n<f+++++++++ fk\n<f+++++++++ p.txt\ncd+++++++++ wu/\n<f+++++++++ wu/kk.txt\n", 
    "rc": 0, 
    "stdout_lines": [
        ".d..t...... ./", 
        "<f+++++++++ em_f", 
        "<f+++++++++ fk", 
        "<f+++++++++ p.txt", 
        "cd+++++++++ wu/", 
        "<f+++++++++ wu/kk.txt"
    ]
}
172.16.110.47 | SUCCESS => {
    "changed": true, 
    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --copy-links --dirs --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \"/root/dog/\" \"172.16.110.47:/tmp/sync_dir\"", 
    "msg": ".d..t...... ./\n<f+++++++++ em_f\n<f+++++++++ fk\n<f+++++++++ p.txt\ncd+++++++++ wu/\n<f+++++++++ wu/kk.txt\n",
    "rc": 0, 
    "stdout_lines": [
        ".d..t...... ./", 
        "<f+++++++++ em_f", 
        "<f+++++++++ fk", 
        "<f+++++++++ p.txt", 
        "cd+++++++++ wu/", 
        "<f+++++++++ wu/kk.txt"
    ]
}

查看結(jié)果:

# ll
total 12
-rw-r--r-- 1 ckl  ckl     9 Dec 29 13:05 em_f
-rw-r--r-- 1 root root    7 Dec 28 16:49 fk //不再是鏈接
-rwx------ 1 root root 4096 May 31  2016 p.txt
drwxr-xr-x 2 root root   20 Dec 29 13:15 wu


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI