rsync เป็นเครื่องมือถ่ายโอนไฟล์ที่เพิ่มขึ้นอย่างรวดเร็วซึ่งสามารถใช้สำหรับการสำรองข้อมูลภายในการสำรองข้อมูลโฮสต์เดียวกัน เรายังสามารถใช้เป็นเครื่องมือสำรองข้อมูลเครือข่ายสำหรับโฮสต์ที่แตกต่างกันได้ บทความนี้จะอธิบายวิธีตั้งค่าเซิร์ฟเวอร์ rsync ของคุณเองเป็นหลักเพื่อให้สามารถถ่ายโอนไฟล์ สำรองข้อมูล และมิเรอร์ได้ เมื่อเปรียบเทียบกับ tar และ wget แล้ว rsync ก็มีข้อดีในตัวเองเช่นกัน เช่น รวดเร็ว ปลอดภัย และมีประสิทธิภาพ
คู่มือ:
ขั้นแรก คุณต้องสร้างคีย์สาธารณะและคีย์ระหว่างเซิร์ฟเวอร์ทั้งสองเครื่อง เพื่อที่คุณจะได้ไม่ต้องป้อนรหัสผ่านทุกครั้ง และสามารถกำหนดให้เป็นอัตโนมัติได้
ก่อนอื่นคุณสามารถใช้ rpm -qa |grep rsync เพื่อตรวจสอบว่ามีการติดตั้ง rsync หรือไม่ ที่อยู่หน้าแรกของ Rysnc สำหรับการดาวน์โหลดซอฟต์แวร์คือ: http://rsync.samba.org/
สภาพแวดล้อมการทดสอบสำหรับการทดสอบนี้ (2 ยูนิต หนึ่งเซิร์ฟเวอร์ และไคลเอนต์หนึ่งตัว)
เซิร์ฟเวอร์ rsync ไอพี: 192.168.48.60
IP ไคลเอ็นต์ rsync: 192.168.48.148
-
กำหนดค่าฝั่งเซิร์ฟเวอร์ก่อน:
1. ติดตั้งแพ็คเกจ rsync
# รอบต่อนาที -q rsync
rsync-2.6.3-1
2. rsync ใช้ไฟล์กำหนดค่าเพียงไฟล์เดียวเท่านั้น ซึ่งก็คือ /etc/rsyncd.conf โดยทั่วไปไฟล์นี้ไม่มีอยู่ ดังนั้น ให้สร้างไฟล์ด้วยตัวเอง
# vi /etc/rsyncd.conf
uid = ไม่มีใคร
กิ๊ด = ไม่มีใคร
การเชื่อมต่อสูงสุด = 200
หมดเวลา=600
ใช้ chroot=no
อ่านอย่างเดียว=ใช่
ไฟล์ pid=/var/run/rsyncd.pid
host_allow =192.168.48.148 //ที่อยู่ IP ของลูกค้าเขียนไว้ที่นี่
สิ่งอำนวยความสะดวก #syslog = local7
#ไฟล์บันทึก=/var/log/rsyncd.log
#rsyncconfig
#สิ่งที่มี'มาตรฐาน'
[rsync_gmmold] //กำหนดเส้นทางการซิงโครไนซ์ (ไคลเอ็นต์ใช้คำหลักนี้เพื่อเชื่อมโยง)
path = /home //เส้นทางที่ต้องซิงโครไนซ์
comment = gmmold //ฉันยังไม่รู้เรื่องนี้เลย
3. เริ่มบริการ
#/usr/bin/rsync --daemon สุดท้าย ให้เริ่ม rsync เป็น daemon บนฝั่งเซิร์ฟเวอร์ พอร์ตที่เริ่มโดย rsync คือพอร์ต 873
4. เพิ่มการเริ่มต้นการบูต
เสียงสะท้อน "/usr/bin/rsync --daemon" >> /etc/rc.local
5. ตรวจสอบว่า rsync เริ่มทำงานเมื่อใด
#ps -ef | .grep rsync
6. หยุดให้บริการ
#kill `cat /var/run/rsyncd.pid`
ต่อไปนี้คือการกำหนดค่าไคลเอ็นต์:
1. ติดตั้งแพ็คเกจ rsync
[root@rhel403 เก่า]# rpm -q rsync
rsync-2.6.3-1
2. ซิงโครไนซ์กับเซิร์ฟเวอร์:
#rsync -ave ssh [email protected]:/home/ /home/ganfic/laji/ //ซิงโครไนซ์และสำรองไฟล์ภายใต้ /home ของเครื่อง 60 ไปที่ /home/ganfic/laji/
ซิงค์ข้อมูลสำรองโดยอัตโนมัติ:
1. สร้างไฟล์ b.sh ภายใต้ tmp
#vi /tmp/b.sh
เขียนเนื้อหาต่อไปนี้ไว้ข้างใน
#!bin/sh
rsync -ave ssh [email protected]:/home/ /home/ganfic/laji/
:wq
2 ขั้นตอนที่สองเกี่ยวข้องกับ crontab ป้อนบนบรรทัดคำสั่ง
#crontab -e
จากนั้นใส่ * * * * * sh /tmp/b.sh //* * * * * ส่วนหนึ่งเพื่อแสดงแต่ละนาที จากนั้น sh /tmp/b.sh หมายถึงการเรียกใช้สคริปต์ b.sh (ฉันจะเพิ่มคำอธิบายด้านล่าง ), -e แก้ไขไฟล์ crontab โดยใช้ตัวแก้ไขที่ระบุโดยตัวแปรสภาพแวดล้อม EDITOR หรือ RVISUAL ไฟล์ crontab ที่สร้างขึ้นใหม่จะถูกวางไว้ในไดเร็กทอรี /var/spool/cron ชื่อไฟล์คือชื่อผู้ใช้ หลังจากใช้ cd /var/spool/cron คุณจะเห็นไฟล์ผู้ใช้ จากนั้นใช้ vi root (I ฉันอยู่ภายใต้ผู้ใช้รูท) ) และคุณจะเห็นว่า * * * * * sh /tmp/b.sh ถูกถ่ายโอนที่นี่
เสร็จแล้ว เราต้องดูว่ามันกำลังทำงานอยู่หรือไม่ เปิดไฟล์บันทึกอยู่ใน #vi /var/log/cron และคุณจะเห็นว่ามันกำลังทำงานอยู่หรือไม่ ทำงานอยู่ มันถูกดำเนินการด้วยตนเอง ในขณะนั้น ไฟล์ในไดเร็กทอรี /home ของเครื่อง 60 ก็ถูกคัดลอกเช่นกัน ด้วยวิธีนี้ เมื่อเราเข้าสู่โฟลเดอร์ /home/ganfic/laji ของเครื่องโลคัล เราจะเห็น ไดเร็กทอรี /home ของเครื่อง 60 ลบเนื้อหาเหล่านี้ทั้งหมด จากนั้นรอประมาณ 1 นาทีเพื่อดูว่าเนื้อหาจะถูกเพิ่มอีกครั้งหรือไม่ หากเป็นเช่นนั้น จะสำเร็จ
ไฟร์วอลล์ Linux ใช้ iptables ดังนั้นเราจึงต้องอนุญาตให้พอร์ตเซิร์ฟเวอร์ rsync ที่คุณกำหนดส่งผ่านอย่างน้อยบนฝั่งเซิร์ฟเวอร์และบนฝั่งไคลเอ็นต์ด้วย
iptables -A INPUT -p tcp -m state - สถานะใหม่ -m tcp --dport 873 -j ยอมรับ
เริ่มบริการ rsync:
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
$rsync_HOME/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
เติมเงิน:
ความรู้ที่เกี่ยวข้องของ rsync:
การใช้คำสั่ง rsync
หลังจากกำหนดค่าเซิร์ฟเวอร์ rsync แล้ว คุณสามารถออกคำสั่ง rsync จากไคลเอ็นต์เพื่อใช้การดำเนินการซิงโครไนซ์ต่างๆ ได้ rsync มีตัวเลือกการทำงานมากมาย ต่อไปนี้เป็นคำแนะนำเกี่ยวกับตัวเลือกที่ใช้กันทั่วไป:
รูปแบบคำสั่งของ rsync สามารถเป็น:
1. rsync [ตัวเลือก]... SRC [SRC]... [USER@]HOST:DEST
2. rsync [ตัวเลือก]... [USER@]HOST:SRC DEST
3. rsync [ตัวเลือก]... SRC [SRC]... DEST
4. rsync [ตัวเลือก]... [USER@]HOST::SRC [DEST]
5. rsync [ตัวเลือก]... SRC [SRC]... [USER@]HOST::DEST
6. rsync [ตัวเลือก]... rsync://[USER@]HOST[:PORT]/SRC [DEST]