ວິທີການ ດຳ ເນີນງານຫຼາຍ Commands ໃນ Linux Server ຫລາຍໆອັນ


ຖ້າທ່ານ ກຳ ລັງຈັດການກັບ Linux server ຫລາຍໆອັນ, ແລະທ່ານຕ້ອງການ ດຳ ເນີນການຫລາຍໆ ຄຳ ສັ່ງໃນ Linux server ທັງ ໝົດ, ແຕ່ທ່ານກໍ່ບໍ່ຮູ້ກ່ຽວກັບວິທີເຮັດມັນ. ບໍ່ ຈຳ ເປັນຕ້ອງກັງວົນ, ໃນຄູ່ມືການຄຸ້ມຄອງເຊີບເວີແບບງ່າຍໆນີ້, ພວກເຮົາຈະສະແດງວິທີການ ດຳ ເນີນການ ຄຳ ສັ່ງຫລາຍໆຄັ້ງໃນຫລາຍໆ Linux server ພ້ອມໆກັນ.

ເພື່ອບັນລຸໄດ້, ນີ້ທ່ານສາມາດໃຊ້ໂປແກຼມ pssh (parallel ssh), ເຄື່ອງໃຊ້ເສັ້ນ ຄຳ ສັ່ງ ສຳ ລັບການປະຕິບັດ ssh ໃນຂະຫນານໃນ ຈຳ ນວນເຈົ້າພາບ. ກັບມັນ, ທ່ານສາມາດສົ່ງການປ້ອນຂໍ້ມູນເຂົ້າໃນທຸກໆຂະບວນການຂອງ ssh, ຈາກ script shell.

<

  • ຕິດຕັ້ງ Pssh ເພື່ອເຮັດວຽກ ຄຳ ສັ່ງໃນ Linux Server ຫ່າງໄກສອກຫຼີກຫຼາຍເຄື່ອງ
  • ທ່ານຕ້ອງໄດ້ໃຊ້ລະຫັດຢືນຢັນ SSH ທີ່ບໍ່ຖືກຕ້ອງ ສຳ ລັບທຸກເຊີບເວີທີ່ຢູ່ໄກ.
  • ສ້າງ Shell Script

    ດັ່ງນັ້ນ, ທ່ານ ຈຳ ເປັນຕ້ອງເລີ່ມຕົ້ນໂດຍການກະກຽມສະຄິບທີ່ປະກອບດ້ວຍ ຄຳ ສັ່ງ Linux ທີ່ທ່ານຕ້ອງການປະຕິບັດຢູ່ໃນເຊີຟເວີຕ່າງກັນ. ໃນຕົວຢ່າງນີ້, ພວກເຮົາຈະຂຽນຄິບທີ່ຈະເກັບ ກຳ ຂໍ້ມູນຕໍ່ໄປນີ້ຈາກຫລາຍເຊີບເວີ:

    • ກວດເບິ່ງເວລາຂອງເຄື່ອງແມ່ຂ່າຍ
    • ກວດເບິ່ງວ່າໃຜ ກຳ ລັງໃຊ້ລະບົບແລະພວກເຂົາ ກຳ ລັງເຮັດຫຍັງຢູ່
    • ບອກລາຍຊື່ 5 ຂັ້ນຕອນທີ່ ກຳ ລັງແລ່ນຕາມການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ.

    ທຳ ອິດສ້າງ script ທີ່ເອີ້ນວ່າ commands.sh ກັບບັນນາທິການທີ່ທ່ານມັກ.

    # vi commands.sh
    

    ຕໍ່ໄປ, ຕື່ມ ຄຳ ສັ່ງຕໍ່ໄປນີ້ໃສ່ຄິບດັ່ງທີ່ສະແດງ.

    #!/bin/bash 
    ###############################################################################
    #Script Name    : commands.sh                       
    #Description    : execute multiple commands on multiple servers                                                                     
    #Author         : Aaron Kili Kisinga       
    #Email          : [email  
    ################################################################################
    echo
    # show system uptime
    uptime
    echo
    # show who is logged on and what they are doing
    who
    echo
    # show top 5 processe by RAM usage 
    ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head -n 6
    
    exit 0
    

    ບັນທຶກເອກະສານແລະປິດມັນ. ຫຼັງຈາກນັ້ນ, ເຮັດໃຫ້ສະຄິບປະຕິບັດໄດ້ຕາມທີ່ສະແດງ.

    # chmod +x commands.sh
    

    ສ້າງເອກະສານເຈົ້າພາບ PSSH

    ຕໍ່ໄປ, ຕື່ມລາຍຊື່ຂອງເຊີບເວີທີ່ທ່ານຕ້ອງການ ດຳ ເນີນການ ຄຳ ສັ່ງຢູ່, ໃນເອກະສານ hosts.txt, ໃນຮູບແບບ [[email ] host [: port] ຫຼືພຽງແຕ່ໃຫ້ IP server ເທົ່ານັ້ນ. ທີ່ຢູ່.

    ແຕ່ພວກເຮົາແນະ ນຳ ໃຫ້ທ່ານໃຊ້ນາມແຝງ ssh ເຊິ່ງສາມາດຖືກ ກຳ ນົດໄວ້ໃນເອກະສານ .ssh/config ດັ່ງທີ່ໄດ້ອະທິບາຍໃນວິທີການ ກຳ ນົດການເຊື່ອມຕໍ່ ssh ທີ່ ກຳ ຫນົດເອງເພື່ອງ່າຍໃນການເຂົ້າເຖິງຫ່າງໄກສອກຫຼີກ.

    ວິທີການນີ້ມີປະສິດທິພາບແລະເຊື່ອຖືໄດ້ຫຼາຍ, ມັນຊ່ວຍໃຫ້ທ່ານສາມາດ ກຳ ນົດຕົວເລືອກການຕັ້ງຄ່າຕ່າງໆ (ເຊັ່ນ: ຊື່ເຈົ້າພາບ, ລະບຸແຟ້ມ, ພອດ, ຊື່ຜູ້ໃຊ້ແລະອື່ນໆ) ສຳ ລັບແຕ່ລະເຊີບເວີທີ່ຢູ່ຫ່າງໄກສອກຫຼີກ.

    ຕໍ່ໄປນີ້ແມ່ນຕົວຢ່າງ ssh ຂອງພວກເຮົາທີ່ໃຊ້ຊື່ aliases file a.k.a user ສະເພາະໄຟລ໌ການຕັ້ງຄ່າ ssh.

    # vi ~/.ssh/config
    

    ຕໍ່ໄປ, ສ້າງເອກະສານ hosts.txt, ໃນທີ່ນີ້ທ່ານພຽງແຕ່ສາມາດລະບຸນາມແຝງ (ຊື່ທີ່ຖືກ ກຳ ນົດໂດຍໃຊ້ ຄຳ ຫລັກຂອງ Host ໃນ .ssh/config file) ດັ່ງທີ່ສະແດງ.

    # vi hosts.txt 
    

    ເພີ່ມນາມແຝງຂອງເຊີບເວີ.

    server1
    server2
    server3
    

    ດໍາເນີນການ Commands ຜ່ານ script ໃນເຄື່ອງແມ່ຂ່າຍ Linux ຫຼາຍ

    ຕອນນີ້ ດຳ ເນີນການ ຄຳ ສັ່ງ pssh ຕໍ່ໄປນີ້ໂດຍ ກຳ ນົດເອກະສານ hosts.txt ພ້ອມກັບສະຄິບທີ່ປະກອບດ້ວຍຫລາຍ ຄຳ ສັ່ງທີ່ຈະໃຊ້ງານໃນ server ຫ່າງໄກສອກຫຼີກຫລາຍຄັ້ງ.

    # pssh -h hosts.txt -P -I<./commands.sh
    

    ຄວາມ ໝາຍ ຂອງທຸງທີ່ໃຊ້ໃນ ຄຳ ສັ່ງຂ້າງເທິງນີ້:

    • -h - ອ່ານເອກະສານເຈົ້າພາບ.
    • -P - ບອກ pssh ໃຫ້ສະແດງຜົນຜະລິດເມື່ອມັນມາຮອດ.
    • -I - ອ່ານການປ້ອນຂໍ້ມູນແລະສົ່ງຕໍ່ແຕ່ລະຂັ້ນຕອນ ssh.

    ນັ້ນແມ່ນມັນ! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ສະແດງວິທີການປະຕິບັດ ຄຳ ສັ່ງຫລາຍໆຄັ້ງໃນຫລາຍເຊີບເວີໃນ Linux. ທ່ານສາມາດແບ່ງປັນຄວາມຄິດທີ່ກ່ຽວຂ້ອງກັບຫົວຂໍ້ນີ້ຜ່ານພາກສະແດງຄວາມເຫັນຂ້າງລຸ່ມນີ້.