日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • PSSH
    • 安裝
    • 使用
      • (1)、定義一個文件,寫入需要操作的機器,如pssh-hosts
      • (2)、pssh執(zhí)行命令
      • (3)、參數(shù)含義
      • (4)、pscp從96.54拷貝文件到其他機器
      • (5)、pslurp從其它機器下載文件到本地
      • (6)、pnuke 殺死遠程主機上的進程
      • (7)、prsync跟rsync使用差不多,略過。
  • ansible
    • 安裝
      • 使用
        • (1)、安裝完后,在/etc/ansible/目錄下生成三個主要的文件或目錄
        • (2)、添加節(jié)點,在/etc/ansible/hosts文件中添加需要被管理的服務(wù)器節(jié)點
        • (3)、建立互信環(huán)境
        • (4)、測試連通性
        • (5)、處理[WARNING]: sftp transfer mechanism failed
        • (6)、ansible命令構(gòu)成
        • (7)、playbook

    PSSH

    全稱是parallel-ssh,基于Python編寫的并發(fā)在多臺服務(wù)器上批量執(zhí)行命令的工具。包括pssh,pscp,prsync,pnuke和pslurp。該項目包括psshlib,可以在自定義應(yīng)用程序中使用。它相當于ansible的簡化版,執(zhí)行起來速度比ansible快,支持文件并行復制,遠程命令執(zhí)行,殺掉遠程主機上的進程,殺手锏是文件并行復制。
        主要用法:
            pssh命令    在遠程主機上執(zhí)行本地命令或者腳本
            pscp命令    將本地文件拷貝至多個遠端主機
            pslurp命令  從多臺遠程機器拷貝文件到本地
            pnuke命令  在遠端主機殺進程
            prsync命令  使用rsync協(xié)議從本地計算機同步到遠程主機

    安裝

    yum install epel-release
    yum install pssh

    使用

    (1)、定義一個文件,寫入需要操作的機器,如pssh-hosts

    vim pass-hosts

    然后寫入需要控制的機器

    192.168.96.54:22
    192.168.96.60:22
    192.168.96.244:22

    (2)、pssh執(zhí)行命令

    pssh -h pssh-hosts -l root -i "echo "Hello World""
    # 因為已經(jīng)是互信環(huán)境,所以不需要輸入密碼

    如何在多臺服務(wù)器上運行相同命令

    (3)、參數(shù)含義

    -h -–hosts 主機文件列表,內(nèi)容格式[user@]host[:port]
    -l -–user 登錄使用的用戶名
    -p -–par 并發(fā)的線程數(shù)【可選】
    -t --timeout 超時時間【可選】
    -v --verbose 輸出詳細信息【可選】

    僅包含在pslurp里的

    -L --localdir 下載文件的保存目錄

    (4)、pscp從96.54拷貝文件到其他機器

    pscp.pssh -h pssh-hosts -l root pssh-hosts /tmp
    # 拷貝pssh-hosts文件到其他機器的/tmp目錄
    # pscp從本地拷貝到遠程,所以先寫本地的某個文件或目錄,再寫遠程的目錄

    如何在多臺服務(wù)器上運行相同命令

    (5)、pslurp從其它機器下載文件到本地

    例如,先創(chuàng)建一個腳本,并將其傳入到每個機器上,獲取每個機器的hostname并寫入到一個文件,然后將每個機器上的該文件下載到本地。

    準備:

    如何在多臺服務(wù)器上運行相同命令

    在使用pssh執(zhí)行腳本后,將每個機器的hostname寫入到本地的某個文件了

    如何在多臺服務(wù)器上運行相同命令

    最后使用pslurp將其拷貝到本地的某個目錄

    如何在多臺服務(wù)器上運行相同命令

    pslurp -h pssh-hosts -L /a /tmp/1.txt 1.txt
    # 將每個節(jié)點上的/tmp/1.txt下載到本地的a目錄里
    # pslurp從遠程下載到遠程,所以先寫遠程的某個文件或目錄,再寫本地的目錄

    如何在多臺服務(wù)器上運行相同命令

    (6)、pnuke 殺死遠程主機上的進程

    例如殺死每個機器的nginx進程查看每個節(jié)點的nginx的狀態(tài)

    如何在多臺服務(wù)器上運行相同命令

    執(zhí)行命令

    查看效果

    如何在多臺服務(wù)器上運行相同命令

    (7)、prsync跟rsync使用差不多,略過。

    ansible

    安裝

    先搜索倉庫里的ansible源

    如何在多臺服務(wù)器上運行相同命令

    然后安裝centos提供的ansible源

    如何在多臺服務(wù)器上運行相同命令

    然后每個機器安裝ansible。(其實只需在管理主機上安裝,都安裝只是為了方便換其他機器后使用)

    如何在多臺服務(wù)器上運行相同命令

    如何在多臺服務(wù)器上運行相同命令

    使用

    (1)、安裝完后,在/etc/ansible/目錄下生成三個主要的文件或目錄

    如何在多臺服務(wù)器上運行相同命令

    • ansible.cfg: Ansible的配置文件
    • hosts:登記被管理的主機
    • roles:角色項目定義目錄,主要用于代碼復用

    (2)、添加節(jié)點,在/etc/ansible/hosts文件中添加需要被管理的服務(wù)器節(jié)點

    pssh -h pssh-hosts -i "printf '[cluster]\n192.168.96.54\n192.168.96.60\n192.168.96.244\n' > /etc/ansible/hosts"
    pssh -h pssh-hosts -i "cat /etc/ansible/hosts"

    如何在多臺服務(wù)器上運行相同命令

    這里將三個節(jié)點放入cluster組中,后面執(zhí)行命令時可指定針對某個組執(zhí)行。

    (3)、建立互信環(huán)境

    ssh-keygen -t rsa -b 4096
    ssh-copy-id root@192.168.96.54

    (4)、測試連通性

    針對cluster組里的機器執(zhí)行ping命令

    ansible cluster -m ping

    如何在多臺服務(wù)器上運行相同命令

    若要針對所有組的機器執(zhí)行命令,則使用all即可。

    ansible all -m ping

    如何在多臺服務(wù)器上運行相同命令

    (5)、處理[WARNING]: sftp transfer mechanism failed

    修改sshd_config

    改sshd_config文件,取消注釋Subsystem

    如何在多臺服務(wù)器上運行相同命令

    修改ansible配置文件,添加scp_if_ssh=True

    如何在多臺服務(wù)器上運行相同命令

    在執(zhí)行時已經(jīng)沒有warning了

    如何在多臺服務(wù)器上運行相同命令

    (6)、ansible命令構(gòu)成

    ansible的命令格式為, ansible 主機群組名 -m 命令模塊名 -a “批量執(zhí)行的操作”

    常用模塊

    • ping模塊
    • command/shell模塊,兩者區(qū)別是shell支持管道,command不支持管道操作
    ansible all -m  command -a 'hostname'

    如何在多臺服務(wù)器上運行相同命令

    ansible all -m  shell -a 'hostname | grep 54'

    如何在多臺服務(wù)器上運行相同命令

    script腳本模塊

    ansible all -m  script -a '/tmp/test.sh'
    # 無需將腳本拷貝到其他節(jié)點

    如何在多臺服務(wù)器上運行相同命令

    copy模塊,相當于scp

    ansible all -m copy -a "src=/tmp/test.sh dest=/tmp/"
    # 將本節(jié)點的該路徑的腳本拷貝到其他機器的tmp目錄下

    如何在多臺服務(wù)器上運行相同命令

    如何在多臺服務(wù)器上運行相同命令

    • user/group模塊
    • git模塊
    • file模塊
    • service模塊
    • yum模塊
    • cron模塊

    其他模塊不再一一列舉,可通過ansible-doc 模塊名查看具體用法例如: ansible-doc yum

    如何在多臺服務(wù)器上運行相同命令

    (7)、playbook

    playbook即劇本,由一個或多個play組成,play的功能就是為歸為一組的主機編排要執(zhí)行的一系列task,其中每一個task就是調(diào)用Ansible的一個命令模塊。

    playbook的核心元素包括:

    • hosts:執(zhí)行任務(wù)的主機,可以是主機組
    • tasks:要執(zhí)行的任務(wù)列表
    • variables:內(nèi)置變量或自定義的變量
    • templates:使用模板語法的文件,通常為配置文件
    • handlers:和notify結(jié)合使用,由特定條件觸發(fā),一般用于配置文件變更觸發(fā)服務(wù)重啟
    • tags:標簽,可在運行時通過標簽指定運行playbook中的部分任務(wù)
    • roles:定義可重用的任務(wù)和變量集合。

    沒用過。

    參考資料:https://www.cnblogs.com/spec-dog/p/12736447.html

    自定義腳本

    一個最簡單的腳本的方式

    #!/bin/bash
    # 要執(zhí)行的命令
    COMMAND="ls -l"
    # 集群中所有節(jié)點的 IP 地址
    NODES=("192.168.1.101" "192.168.1.102" "192.168.1.103")
    # 在所有節(jié)點上執(zhí)行命令
    for NODE in "${NODES[@]}"
    do
        echo "Executing command on node $NODE..."
        ssh $NODE $COMMAND
    done

    分享到:
    標簽:命令 器上 多臺 服務(wù)器 運行
    用戶無頭像

    網(wǎng)友整理

    注冊時間:

    網(wǎng)站:5 個   小程序:0 個  文章:12 篇

    • 51998

      網(wǎng)站

    • 12

      小程序

    • 1030137

      文章

    • 747

      會員

    趕快注冊賬號,推廣您的網(wǎng)站吧!
    最新入駐小程序

    數(shù)獨大挑戰(zhàn)2018-06-03

    數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

    答題星2018-06-03

    您可以通過答題星輕松地創(chuàng)建試卷

    全階人生考試2018-06-03

    各種考試題,題庫,初中,高中,大學四六

    運動步數(shù)有氧達人2018-06-03

    記錄運動步數(shù),積累氧氣值。還可偷

    每日養(yǎng)生app2018-06-03

    每日養(yǎng)生,天天健康

    體育訓練成績評定2018-06-03

    通用課目體育訓練成績評定