मल्टी मास्टर मोड में कई सर्वरों के बीच रीयलटाइम फ़ाइल सिंक्रनाइज़ेशन
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
उनके सुझाव के लिए मेलबर्सलान को धन्यवाद।