ນີ້ແມ່ນຄໍາສັ່ງ fssync ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
fssync - ເຄື່ອງມື synchronization ລະບົບໄຟລ໌ (1-way, over SSH)
ສະຫຼຸບສັງລວມ
fssync -d db -r ຮາກ [ທາງເລືອກ... ] ເຈົ້າພາບ
ລາຍລະອຽດ
fssync ເປັນເຄື່ອງມື synchronization ໄຟລ໌ 1 ທາງທີ່ຕິດຕາມ inodes ແລະຮັກສາທ້ອງຖິ່ນ
ຖານຂໍ້ມູນຂອງໄຟລ໌ທີ່ຢູ່ທາງໄກ, ເຮັດໃຫ້ມັນສາມາດ:
· ຈັດການປະສິດທິຜົນຈໍານວນຂະຫນາດໃຫຍ່ຂອງ dirs / ໄຟລ໌
· ກວດສອບການປ່ຽນຊື່ / ຍ້າຍແລະການເຊື່ອມຕໍ່ຍາກ
ມັນມີຈຸດປະສົງເພື່ອຫຼຸດຜ່ອນການຈະລາຈອນເຄືອຂ່າຍແລະ synchronizing ທຸກລາຍລະອຽດຂອງລະບົບໄຟລ໌:
·ທຸກປະເພດຂອງ inode: ໄຟລ໌, dir, ຕັນ / ລັກສະນະ / fifo, ເຕົ້າຮັບ, symlink
·ຮັກສາການເຊື່ອມຕໍ່ຍາກ
· ການແກ້ໄຂທີ່ໃຊ້ເວລາ, ຄວາມເປັນເຈົ້າຂອງ / ການອະນຸຍາດ / ACL, ຄຸນລັກສະນະຂະຫຍາຍ
· ໄຟລ໌ກະແຈກກະຈາຍ
ຄຸນສົມບັດອື່ນໆ:
·ມັນສາມາດຖືກຕັ້ງຄ່າເພື່ອຍົກເວັ້ນໄຟລ໌ຈາກການ synchronization
· fssync ສາມາດຂັດຂວາງແລະສືບຕໍ່ໄດ້ທຸກເວລາ, ເຮັດໃຫ້ມັນທົນທານຕໍ່ຄວາມລົ້ມເຫລວແບບສຸ່ມ.
(ເຊັ່ນ: ເຄືອຂ່າຍຜິດພາດ)
· ສູດການຄິດໄລ່ເພື່ອ synchronize ເນື້ອໃນໄຟລ໌ໄດ້ຖືກອອກແບບເພື່ອຈັດການໄຟລ໌ຂະຫນາດໃຫຍ່ເຊັ່ນຮູບພາບ VM
ມີປະສິດທິພາບ, ໂດຍການປັບປຸງການດັດແກ້ທີ່ມີຂະຫນາດຄົງທີ່
ການນໍາໃຊ້ຕົ້ນຕໍຂອງ fssync ແມ່ນເພື່ອປ້ອງກັນການສູນເສຍຂໍ້ມູນໃນກໍລະນີຂອງຄວາມລົ້ມເຫຼວຂອງຮາດແວ, ບ່ອນທີ່ RAID1 ແມ່ນ
ບໍ່ເປັນໄປໄດ້ (ເຊັ່ນ: ໃນຄອມພິວເຕີໂນດບຸກ).
On Btrfs [1] ລະບົບໄຟລ໌, fssync ເປັນທາງເລືອກທີ່ເປັນປະໂຫຍດເພື່ອ btrfs ສົ່ງ (ແລະ ໄດ້ຮັບ)
ຄໍາສັ່ງ, ຂໍຂອບໃຈກັບຄວາມສາມາດການກັ່ນຕອງ. ນີ້ສາມາດຖືກລວມເຂົ້າກັບ Btrfs snapshotting
ຢູ່ດ້ານປາຍທາງສຳລັບການແກ້ໄຂການສຳຮອງຂໍ້ມູນເຕັມຮູບແບບ.
ການນໍາໃຊ້
ການນໍາໃຊ້ fssync - ຊ່ວຍ ເພື່ອໃຫ້ໄດ້ຮັບບັນຊີລາຍຊື່ຄົບຖ້ວນຂອງທາງເລືອກ.
ສິ່ງທີ່ສໍາຄັນທີ່ສຸດທີ່ຕ້ອງຈື່ແມ່ນວ່າຖານຂໍ້ມູນທ້ອງຖິ່ນຕ້ອງກົງກັບສິ່ງທີ່ແນ່ນອນ
ໃນເຈົ້າພາບປາຍທາງ:
· ໄຟລ໌ທີ່ສຳເນົາໄວ້ໃນໂຮດປາຍທາງຈະຕ້ອງບໍ່ຖືກດັດແກ້. ແລະບໍ່ມີຫຍັງຄວນ
ຖືກສ້າງດ້ວຍຕົນເອງພາຍໃນໄດເລກະທໍລີປາຍທາງ. ຖ້າຫາກວ່າທ່ານຍັງຕ້ອງການທີ່ຈະເຂົ້າເຖິງຂໍ້ມູນຢູ່ໃນ
ໂຮດຫ່າງໄກສອກຫຼີກ, ທ່ານຄວນເຮັດມັນຜ່ານຕົວເຊື່ອມຕໍ່ແບບອ່ານເທົ່ານັ້ນ (ຕ້ອງການ Linux >=
2.6.26).
· ທ່ານຕ້ອງມີ 1 ຖານຂໍ້ມູນຕໍ່ປາຍທາງ, ຖ້າເຈົ້າວາງແຜນທີ່ຈະມີສຳເນົາຫຼາຍອັນ
ແຫຼ່ງທີ່ມາ.
ເບິ່ງທີ່ -c ທາງເລືອກຖ້າທ່ານສົງໄສວ່າຖານຂໍ້ມູນຂອງທ່ານກົງກັບໄດເລກະທໍລີປາຍທາງ.
ໄລຍະທໍາອິດຂອງ fssync:
· ວິທີທີ່ງ່າຍທີ່ສຸດຄືໃຫ້ fssync ເຮັດທຸກຢ່າງ. ລະບຸເສັ້ນທາງໄຟລ໌ທີ່ບໍ່ມີຢູ່ແລ້ວໄປຫາ -d
ທາງເລືອກແລະບັນຊີລາຍການຈຸດຫມາຍປາຍທາງເປົ່າຫຼືບໍ່ມີຢູ່ແລ້ວ (ເບິ່ງ -R ທາງເລືອກ). fssync ຈະ
ອັດຕະໂນມັດສ້າງຖານຂໍ້ມູນແລະຄັດລອກ dirs / ໄຟລ໌ທັງຫມົດໄປຫາເຈົ້າພາບທາງໄກ.
· ວິທີທີ່ໄວກວ່າອາດຈະເປັນການເຮັດສໍາເນົາເບື້ອງຕົ້ນໂດຍວິທີອື່ນ, ເຊັ່ນ: ສໍາເນົາດິບຂອງ a
ການແບ່ງສ່ວນ. ຖ້າທ່ານແນ່ໃຈວ່າແຫຼ່ງແລະປາຍທາງແມ່ນຄືກັນ,
ທ່ານສາມາດເລີ່ມຕົ້ນຖານຂໍ້ມູນໂດຍການລະບຸ - ເປັນເຈົ້າພາບ. ຖ້າຕົວເລກ inode ແມ່ນຄືກັນ
ທັງສອງດ້ານ, ຊຶ່ງເປັນກໍລະນີຖ້າຫາກວ່າຂໍ້ມູນໄດ້ຖືກຄັດລອກຢູ່ໃນລະດັບຕັນ, ທ່ານສາມາດປັບປຸງແກ້ໄຂໄດ້
ການແບ່ງປັນແຫຼ່ງໃນຂະນະທີ່ທ່ານກໍາລັງເລີ່ມຕົ້ນ DB ໃນຈຸດຫມາຍປາຍທາງຫນຶ່ງ, ແລະກັບຄືນມາ
DB ຢູ່ໃນທ້ອງຖິ່ນ.
ຕົວຢ່າງຂອງ wrapper ປະມານ fssync, ມີຕົວກອງ, ສາມາດພົບໄດ້ທີ່ ຕົວຢ່າງ/fssync_home
fssync ບໍ່ເຄີຍລົງໄດເລກະທໍລີຢູ່ໃນລະບົບໄຟລ໌ອື່ນໆ. Inodes masked ໂດຍຈຸດ mount
ຍັງຖືກຂ້າມໄປ, ດັ່ງນັ້ນພວກມັນຄວນຈະຖືກຖອນການເຊື່ອມຕໍ່ຊົ່ວຄາວຖ້າທ່ານຕ້ອງການໃຫ້ພວກເຂົາເປັນ
synchronized. ຜົນໄດ້ຮັບດຽວກັນສາມາດບັນລຸໄດ້ໂດຍການ synchronizing ຈາກ bind mount.
ເບິ່ງອີກ NONE ລະຫັດລັບ ການປ່ຽນແປງ [2] patch ຖ້າຫາກວ່າທ່ານບໍ່ຈໍາເປັນຕ້ອງເຂົ້າລະຫັດແລະທ່ານຕ້ອງການ
ເລັ່ງການເຊື່ອມຕໍ່ SSH ຂອງທ່ານ.
ວິທີການ IT WORKS
fssync ຮັກສາຕາຕະລາງ SQLite ດຽວຂອງ dirs / ໄຟລ໌ທັງຫມົດທີ່ຢູ່ໃນດ້ານໄກ. ແຕ່ລະ
ແຖວກົງກັບເສັ້ນທາງ, ກັບ inode ຂອງມັນ (ຢູ່ຂ້າງທ້ອງຖິ່ນ), metadata ອື່ນໆ (ຢູ່ທາງໄກ) ແລະ a
ກວດກາ ທຸງ.
ເມື່ອແລ່ນ, fssync iterates recursively ຜ່ານ dirs / ໄຟລ໌ທ້ອງຖິ່ນທັງຫມົດແລະສໍາລັບແຕ່ລະເສັ້ນທາງ
ທີ່ບໍ່ໄດ້ຖືກລະເລີຍ (ເບິ່ງ -f ທາງເລືອກ), ມັນສອບຖາມ DB ເພື່ອຕັດສິນໃຈວ່າຈະເຮັດແນວໃດ. ຖ້າແລ້ວ
ກວດກາ, ເສັ້ນທາງຖືກຂ້າມທັນທີ. ເມື່ອເສັ້ນທາງຖືກ synchronized, ມັນຈະຖືກຫມາຍເປັນ
ກວດກາ. ໃນທີ່ສຸດ, ແຖວທັງຫມົດທີ່ບໍ່ມີ ກວດກາ ສອດຄ້ອງກັບເສັ້ນທາງທີ່ບໍ່ມີຢູ່
ອີກຕໍ່ໄປ. ເມື່ອພວກເຂົາຖືກລຶບລ້າງໃນດ້ານຫ່າງໄກສອກຫຼີກ, ທັງຫມົດ ກວດກາ ທຸງຖືກຣີເຊັດ.
ຄວາມລົ້ມເຫຼວຂອງ ຄວາມທົນທານ
ໃນຄວາມເປັນຈິງ, fssync ບໍ່ໄດ້ຮຽກຮ້ອງໃຫ້ຖານຂໍ້ມູນກົງກັບຈຸດຫມາຍປາຍທາງຢ່າງສົມບູນ. ມັນ
tolerates ບາງຄວາມແຕກຕ່າງເພື່ອຟື້ນຕົວ synchronization ລົບກວນທີ່ເກີດຈາກ a
ເຄືອຂ່າຍຄວາມລົ້ມເຫຼວ, ຄວາມຜິດພາດການດໍາເນີນງານໄຟລ໌, ຫຼືສິ່ງອື່ນນອກຈາກການຂັດຂວາງລະບົບປະຕິບັດການ
ຂອງເຈົ້າພາບທ້ອງຖິ່ນ (ຫຼືບາງສິ່ງບາງຢ່າງທີ່ຄ້າຍຄືກັນເຊັ່ນ: ຄວາມລົ້ມເຫຼວຂອງພະລັງງານ).
ໃນກໍລະນີຫຼາຍທີ່ສຸດ, ນີ້ແມ່ນເຮັດໂດຍເຈົ້າພາບທາງໄກ, ເຊິ່ງອັດຕະໂນມັດສ້າງ (ຫຼືຂຽນທັບ)
inode ຂອງປະເພດທີ່ຄາດໄວ້ຖ້າຈໍາເປັນ. ຂໍ້ຍົກເວັ້ນພຽງແຕ່ວ່າຫ່າງໄກສອກຫຼີກຈະ
ຢ່າລຶບບັນຊີລາຍການທີ່ບໍ່ຫວ່າງເປົ່າດ້ວຍຕົວມັນເອງ. ສໍາລັບກໍລະນີທີ່ສັບສົນທີ່ສຸດ, fssync journalizes
ການດໍາເນີນງານໃນຖານຂໍ້ມູນ: ໃນກໍລະນີຂອງຄວາມລົ້ມເຫຼວ, fssync ຈະສາມາດຟື້ນຕົວຕໍ່ໄປ
ຊິ້ງຂໍ້ມູນ.
ເຊື້ອຊາດ ເງື່ອນໄຂ
ເງື່ອນໄຂການແຂ່ງຂັນຫມາຍຄວາມວ່າຂະບວນການອື່ນໆຢູ່ໃນເຈົ້າພາບທ້ອງຖິ່ນກໍາລັງດັດແປງ inodes ນັ້ນ
fssync ກໍາລັງ synchronizing. fssync ຈັດການກັບສະພາບການແຂ່ງຂັນໃດໆ. ໃນຄວາມເປັນຈິງ, fssync ມີ
ບໍ່ມີຫຍັງເຮັດສໍາລັບກໍລະນີສ່ວນໃຫຍ່.
ເມື່ອສະພາບການແຂ່ງຂັນເກີດຂຶ້ນ, fssync ບໍ່ໄດ້ຮັບປະກັນວ່າຂໍ້ມູນຫ່າງໄກສອກຫຼີກແມ່ນຢູ່ໃນ a
ລັດທີ່ສອດຄ່ອງ. ແຕ່ລະ sync ສະເຫມີແກ້ໄຂຄວາມບໍ່ສອດຄ່ອງທີ່ມີຢູ່ແລ້ວແຕ່ອາດຈະແນະນໍາ
ອື່ນໆ, ດັ່ງນັ້ນ fssync ບໍ່ເຫມາະສົມສໍາລັບການສໍາຮອງຂໍ້ມູນຮ້ອນຂອງຖານຂໍ້ມູນ.
ດ້ວຍ Btrfs, ທ່ານສາມາດໄດ້ຮັບຄວາມສອດຄ່ອງໂດຍການຖ່າຍຮູບຢູ່ຂ້າງແຫຼ່ງ.
ຄ້າຍຄືກັນ ໂຄງການ
ແນວຄວາມຄິດຂອງການຮັກສາຖານຂໍ້ມູນທ້ອງຖິ່ນຕົວຈິງແມ່ນມາຈາກ cync2 [3]. ຂ້ອຍກຳລັງຈະ
ຮັບຮອງເອົາມັນໃນເວລາທີ່ຂ້າພະເຈົ້າໄດ້ຮັບຮູ້ວ່າຂ້າພະເຈົ້າກໍ່ຕ້ອງການເຄື່ອງມືທີ່ສະເຫມີກວດພົບການປ່ຽນຊື່ / ຍ້າຍຂອງ
ໄຟລ໌ໃຫຍ່. ນັ້ນແມ່ນເຫດຜົນທີ່ຂ້ອຍເຫັນ fssync ເປັນການຂຽນຄືນບາງສ່ວນຂອງ csync2, ດ້ວຍການຕິດຕາມ inode ແລະ
ໂດຍບໍ່ມີການ synchronization bidirectional. ຖານຂໍ້ມູນທ້ອງຖິ່ນກໍ່ເຮັດໃຫ້ fssync & csync2
ໄວກວ່າທີ່ຮູ້ຈັກ rsync [4]
ໃຊ້ fssync ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net