ວິທີການຊິ້ງຂໍ້ມູນສອງເວັບເຊີຟເວີ Apache/ເວບໄຊທ໌ໂດຍໃຊ້ Rsync


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

ຈຸດປະສົງຂອງການສ້າງແວ່ນແຍງຂອງ Web Server ຂອງທ່ານກັບ Rsync ແມ່ນຖ້າເຄື່ອງແມ່ຂ່າຍເວັບໄຊທ໌ຕົ້ນຕໍຂອງທ່ານລົ້ມເຫລວ, ເຄື່ອງແມ່ຂ່າຍ ສຳ ຮອງຂອງທ່ານສາມາດຮັບຜິດຊອບເພື່ອຫຼຸດຜ່ອນເວລາຫວ່າງຂອງເວບໄຊທ໌ຂອງທ່ານ. ວິທີການສ້າງ ສຳ ຮອງ ສຳ ລັບ web server ນີ້ແມ່ນດີແລະມີປະສິດທິຜົນ ສຳ ລັບທຸລະກິດເວັບຂະ ໜາດ ນ້ອຍແລະກາງ.

ຂໍ້ໄດ້ປຽບຂອງເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Syncing

ຂໍ້ໄດ້ປຽບຕົ້ນຕໍຂອງການສ້າງ ສຳ ຮອງ web server ດ້ວຍ rsync ມີດັ່ງນີ້:

<

  • Rsync syncs ພຽງແຕ່ໄບຕ໌ເຫລົ່ານັ້ນແລະທ່ອນໄມ້ຂອງຂໍ້ມູນທີ່ມີການປ່ຽນແປງ.
  • Rsync ມີຄວາມສາມາດໃນການກວດສອບແລະລຶບໄຟລ໌ແລະໄດເລກະທໍລີເຫລົ່ານັ້ນຢູ່ທີ່ server ສຳ ຮອງທີ່ຖືກລຶບອອກຈາກເວັບ server ຕົ້ນຕໍ.
  • ມັນຕ້ອງເບິ່ງແຍງສິດ, ຄວາມເປັນເຈົ້າຂອງແລະຄຸນລັກສະນະພິເສດໃນຂະນະທີ່ ສຳ ເນົາຂໍ້ມູນຈາກໄລຍະໄກ.
  • ມັນຍັງສະ ໜັບ ສະ ໜູນ ໂປໂຕຄອນ SSH ໃນການໂອນຂໍ້ມູນໃນແບບທີ່ຖືກເຂົ້າລະຫັດເພື່ອໃຫ້ທ່ານ ໝັ້ນ ໃຈໄດ້ວ່າຂໍ້ມູນທັງ ໝົດ ແມ່ນປອດໄພ.
  • Rsync ໃຊ້ວິທີການບີບອັດແລະຊຸດໂຊມໃນຂະນະທີ່ໂອນຂໍ້ມູນທີ່ໃຊ້ແບນວິດ ໜ້ອຍ.
  • ວິທີການຊິ້ງຂໍ້ມູນສອງເວັບເຊີຟເວີ Apache

    ດໍາເນີນການກັບການຕັ້ງຄ່າ rsync ເພື່ອສ້າງແວ່ນແຍງຂອງເວັບຂອງທ່ານ. ນີ້, ຂ້ອຍຈະໃຊ້ສອງເຊີບເວີ.

    <

  • ທີ່ຢູ່ IP: 192.168.0.100
  • ຊື່ໂຮດ: webserver.example.com
  • <

  • ທີ່ຢູ່ IP: 192.168.0.101
  • ຊື່ໂຮດ: backup.example.com
  • ນີ້ໃນກໍລະນີນີ້ຂໍ້ມູນຂອງ web server ຂອງ webserver.example.com ຈະຖືກສະທ້ອນໃນ backup.example.com. ແລະເພື່ອເຮັດສິ່ງນັ້ນກ່ອນອື່ນ ໝົດ, ພວກເຮົາ ຈຳ ເປັນຕ້ອງຕິດຕັ້ງ Rsync ໃນເຊີຟເວີທັງສອງເຄື່ອງດ້ວຍການຊ່ວຍເຫຼືອຂອງ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

     yum install rsync        [On Red Hat based systems]
     apt-get install rsync    [On Debian based systems]

    ພວກເຮົາສາມາດຕັ້ງຄ່າ rsync ກັບຜູ້ໃຊ້ຮາກ, ແຕ່ດ້ວຍເຫດຜົນດ້ານຄວາມປອດໄພ, ທ່ານສາມາດສ້າງຜູ້ໃຊ້ທີ່ບໍ່ມີສ່ວນກ່ຽວຂ້ອງໃນເວບໄຊທ໌ຕົ້ນຕໍ i.e webserver.example.com ເພື່ອ ດຳ ເນີນການ rsync.

     useradd tecmint
     passwd tecmint

    ນີ້ຂ້ອຍໄດ້ສ້າງຜູ້ໃຊ້“ tecmint” ແລະມອບລະຫັດລັບໃຫ້ຜູ້ໃຊ້.

    ມັນເຖິງເວລາແລ້ວທີ່ຈະທົດສອບການຕັ້ງຄ່າ rsync ຂອງທ່ານໃນເຊີຟເວີ ສຳ ຮອງຂອງທ່ານ (ເຊັ່ນ: backup.example.com) ແລະເພື່ອເຮັດແນວນັ້ນ, ກະລຸນາພິມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

     rsync -avzhe ssh [email :/var/www/ /var/www
    [email 's password:
    
    receiving incremental file list
    sent 128 bytes  received 32.67K bytes  5.96K bytes/sec
    total size is 12.78M  speedup is 389.70

    ທ່ານສາມາດເຫັນໄດ້ວ່າ rsync ຂອງທ່ານປະຈຸບັນເຮັດວຽກໄດ້ດີແລະ ກຳ ລັງຊິ້ງຂໍ້ມູນ. ຂ້ອຍໄດ້ໃຊ້“/var/www” ເພື່ອໂອນ; ທ່ານສາມາດປ່ຽນທີ່ຕັ້ງໂຟນເດີຕາມຄວາມຕ້ອງການຂອງທ່ານ.

    ໃນປັດຈຸບັນ, ພວກເຮົາໄດ້ເຮັດແລ້ວກັບການຕັ້ງຄ່າ rsync ແລະຕອນນີ້ມັນເຖິງເວລາທີ່ຈະຕັ້ງ cron ສຳ ລັບ rsync. ໃນຂະນະທີ່ພວກເຮົາຈະໃຊ້ rsync ກັບໂປໂຕຄອນ SSH, ssh ຈະຂໍໃຫ້ມີການກວດສອບຄວາມຖືກຕ້ອງແລະຖ້າພວກເຮົາບໍ່ສະ ໜອງ ລະຫັດລັບໃຫ້ໃຊ້ມັນຈະບໍ່ເຮັດວຽກ. ເພື່ອເຮັດວຽກ cron ໄດ້ຢ່າງສະດວກ, ພວກເຮົາ ຈຳ ເປັນຕ້ອງຕັ້ງຄ່າການເຂົ້າລະບົບ ssh ທີ່ບໍ່ມີລະຫັດ ສຳ ລັບ rsync.

    ນີ້ຢູ່ໃນຕົວຢ່າງນີ້, ຂ້ອຍ ກຳ ລັງເຮັດມັນເປັນຮາກເພື່ອຮັກສາຄວາມເປັນເຈົ້າຂອງເອກະສານເຊັ່ນກັນ, ເຈົ້າສາມາດເຮັດມັນໄດ້ ສຳ ລັບຜູ້ໃຊ້ທາງເລືອກເຊັ່ນກັນ.

    ກ່ອນອື່ນ ໝົດ, ພວກເຮົາຈະຜະລິດຄີສາທາລະນະແລະເອກະຊົນໂດຍມີ ຄຳ ສັ່ງຕໍ່ໄປນີ້ໃນ server ສຳ ຮອງ (i. e. backup.example.com).

     ssh-keygen -t rsa -b 2048

    ເມື່ອທ່ານໃສ່ ຄຳ ສັ່ງນີ້, ກະລຸນາຢ່າສະ ເໜີ passphrase ແລະກົດປຸ່ມ Enter ສຳ ລັບ Empty passphrase ເພື່ອໃຫ້ rsync cron ບໍ່ ຈຳ ເປັນຕ້ອງມີລະຫັດລັບ ສຳ ລັບການຊິ້ງຂໍ້ມູນ.

    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    9a:33:a9:5d:f4:e1:41:26:57:d0:9a:68:5b:37:9c:23 [email 
    The key's randomart image is:
    +--[ RSA 2048]----+
    |          .o.    |
    |           ..    |
    |        ..++ .   |
    |        o=E *    |
    |       .Sooo o   |
    |       =.o o     |
    |      * . o      |
    |     o +         |
    |    . .          |
    +-----------------+

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

     ssh-copy-id -i /root/.ssh/id_rsa.pub [email 

    ດຽວນີ້ລອງເຂົ້າສູ່ລະບົບເຄື່ອງ, ດ້ວຍ“ ssh ‘[email ‘”, ແລະເຊັກເຂົ້າ .ssh/Author_key.

     [email 

    ໃນປັດຈຸບັນ, ພວກເຮົາເຮັດໄດ້ດ້ວຍການແລກປ່ຽນຂໍກະແຈ. ເພື່ອຮູ້ຄວາມລະອຽດຕື່ມກ່ຽວກັບລະຫັດຜ່ານ SSH ໜ້ອຍ ລົງ, ທ່ານສາມາດອ່ານບົດຄວາມຂອງພວກເຮົາກ່ຽວກັບມັນ.

    <

  • ລະຫັດຜ່ານ SSH ເຂົ້າລະຫັດຜ່ານໃນ 5 ຂັ້ນຕອນງ່າຍໆ
  • ໃຫ້ຕັ້ງຄ່າ cron ສຳ ລັບສິ່ງນີ້. ເພື່ອຕິດຕັ້ງ cron, ກະລຸນາເປີດເອກະສານ crontab ດ້ວຍ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

     crontab –e

    ມັນຈະເປີດເອກະສານ/etc/crontab ເພື່ອແກ້ໄຂກັບບັນນາທິການເລີ່ມຕົ້ນຂອງທ່ານ. ນີ້ຢູ່ໃນຕົວຢ່າງນີ້, ຂ້ອຍ ກຳ ລັງຂຽນ cron ເພື່ອໃຊ້ມັນທຸກໆ 5 ນາທີເພື່ອຊິ້ງຂໍ້ມູນ.

    */5        *        *        *        *   rsync -avzhe ssh [email :/var/www/ /var/www/

    ຄຳ ສັ່ງຂ້າງເທິງຂອງ cron ແລະ rsync ແມ່ນພຽງແຕ່ຊິ້ງຂໍ້ມູນ“/var/www /” ຈາກເວັບເຊີຟເວີຕົ້ນຕໍໄປຫາ server ສຳ ຮອງໃນທຸກໆ 5 ນາທີ ທ່ານສາມາດປ່ຽນການຕັ້ງຄ່າເວລາແລະສະຖານທີ່ໂຟນເດີຕາມຄວາມຕ້ອງການຂອງທ່ານ. ເພື່ອໃຫ້ມີຄວາມຄິດສ້າງສັນແລະປັບແຕ່ງກັບ ຄຳ ສັ່ງ Rsync ແລະ Cron, ທ່ານສາມາດກວດເບິ່ງບົດຄວາມທີ່ມີລາຍລະອຽດເພີ່ມເຕີມຂອງພວກເຮົາທີ່:

    <

  • 10 ຄຳ ສັ່ງ Rsync ເພື່ອຊິງແຟ້ມ/ແຟ້ມໃນ Linux
  • 11 ຕົວຢ່າງການວາງແຜນ Cron ໃນ Linux