मल्टी मास्टर मोड में कई सर्वरों के बीच रीयलटाइम फ़ाइल सिंक्रनाइज़ेशन
lsyncd
वास्तविक समय के आधार पर कई सर्वरों के बीच फ़ाइलों को सिंक करने के लिए एक अच्छा उपकरण है । यहां मैंने दो सर्वरों के साथ प्रयास किया है।
होस्ट: सर्वर 1 और सर्वर 2
OS का इस्तेमाल किया: CentOS 7
दोनों सर्वरों के नीचे पैकेज स्थापित करें।
# yum install -y epel-release
# yum -y install lua lua-devel pkgconfig gcc asciidoc lsyncd
दोनों सर्वरों में ssh-key जेनरेट करें और authorized_keys
फाइल में जोड़ें । [Server1 की authorized_keys
सार्वजनिक कुंजी को server2 की और सर्वर 2 की सार्वजनिक कुंजी को server1 की authorized_keys
फाइल में जोड़ें]
Server1 कॉन्फ़िगरेशन
लाइन की शुरुआत में /etc/lsyncd.conf
डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग करके खोलें और टिप्पणी --
करें और फ़ाइल के नीचे कॉन्फ़िगरेशन जोड़ें।
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
delay = 1
}
sync {
default.rsync,
source="/home/test/public_html/",
target="server2:/home/test/public_html/",
rsync = {
compress = true,
acls = true,
verbose = true,
owner = true,
group = true,
perms = true,
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
}
}
लक्ष्य आईपी को target
पैरामीटर में बदलें ।
आप delay
अपनी आवश्यकता के अनुसार पैरामीटर बदल सकते हैं । यहां इसे 1 सेकंड निर्धारित किया गया है।
अब लॉग डायरेक्टरी बनाएं।
# mkdir -p /var/log/lsyncd
lsyncd
स्वचालित रूप से शुरू करने के लिए सेवा को सक्षम करें ।
# systemctl enable lsyncd.service
सेवा शुरू करें।
# systemctl start lsyncd.service
Server2 कॉन्फ़िगरेशन
सर्वर 1 के समान कॉन्फ़िगरेशन का पालन करें और target
आईपी बदलें ।
अब सिंक्रनाइज़ेशन सेट है।
आप से गतिविधि की जाँच कर सकते हैं tailf /var/log/lsyncd/lsyncd.log
उनके सुझाव के लिए मेलबर्सलान को धन्यवाद।