hdh li nux-rsync-pham tan khai
DESCRIPTION
cai dat RSYNCTRANSCRIPT
-
B GIO DC V O TO
Cu hnh
RSYNC
-
GV hng dn: H Hu Trung
Sinh vin: Phm tn Khi
MSSV: 1051020018
Lp: 11Dthm Mc lc:
1. Gii thiu:
2. Ci t & cu hnh
3. Chp hnh & demo
I. Gii thiu:
1. Tin ch rsync thng c dng to backup trong mi trng UNIX/Linux. N s ng b ha d liu t th mc ny n th mc khc trn cng mt server, hoc backup d liu t server ny n server khc
2. Tc : Rsync s thc hin ng b ha gia hai ni bng cch copy theo block (theo khi trn cng) ch khng phi copy theo tng file (Rsync cng h tr copy theo tng file). Tuy nhin khi thc hin trn block s cho tc nhanh hn nhiu cc phng thc khc.
-
3. Bo mt: Trong qu trnh truyn d liu, Rsync cho php s dng m ha d liu s dng qua ssh nn data khi truyn s c bo mt tt hn.
4. Bandwidth: Khi rsync bng cc option c bn, n cho php nn d liu v khi sang bn ch n s gii nn. Qu trnh nn cng theo block do vy bng thng s gim ti a. Tuy nhin qu trnh nn v gii nn gy ra tn thi gian. Do vy nu bng thng ca mng ln, rsync s c ty chn khng nn khi truyn, tng tc thi gian ng b ha.Khi ci t v thc thi rsync, n khng cn cp bt c quyn no c bit. Ch nh mt cng c bnh thng, rt d dng s dng v tin li.
5. C php: rsync -options source destination 1. ng b 2 th mc trn cng mt server # mkdir /tmp/ssh # rsync -zvr /etc/ssh/ /tmp/ssh -z : Bt tnh nng nn -v : verbose -r : p dng vi cc th mc con ( qui) Vi cc option trn th cc thuc tnh ca cc file (thi gian) s khng c gi nguyn khi n copy n th mc ch. # ls -l /etc/ssh /tmp/ssh 2. Gi cc thuc tnh bng cch s dng option -a # mkdir /tmp/ssh2 # rsync -avz /etc/ssh/ /tmp/ssh2 # ls -l /etc/ssh /tmp/ssh2 3. ng b cc file t Local server sang Remote server # rsync -avz /etc/ssh [email protected]:/tmp/ssh 4. ng b cc file t Remote server v Local server # rsync -avz [email protected]:/etc/ssh /tmp/ssh 5. Remote shell for Synchronization S dng options -e ssh s dng ssh khi sync # rsync -avz -e ssh [email protected]:/etc/ssh /tmp/ssh 6. Khng ghi d liu ch S dng option -u trong trng hp ch mun ng b nhng file, folder cha tn ti server ch. Nhng file tn ti ( c ng b ri) th khng ng b na. 7. Ch ng b cy th mc (khng ng b file) S dng option -d # rsync -v -d [email protected]:/etc/ssh /tmp/ssh 8. Xa cc file, folder ch. S dng option --delete nu mun ng b hon ton gia 2 ni, cc file, folder ch m khng tn ti server ngun s b xa b m bo server ch l bn sao hon chnh ca server ngun. # rsync -avz --delete [email protected]:/etc/ssh /tmp/ssh 9. Gii hn kch c files khi ng b S dng option -max-size V d: Ch transfer cc file c size nh hn hoc bng100K # rsync -avz -max-size=100K [email protected]:/etc/ssh /tmp/ssh 10. Transfer files thay v transfer block Qu trnh copy data gia hai server thc hin bng copy block. Nu mng c bng thng rng, CPU mnh, c th s dng option -W copy theo file.
-
# rsync -avzW [email protected]:/etc/ssh /tmp/ssh
II. Ci t & cu hnh
1. bi tm hiu ny s yu cu:
a. Phn mm vm-ware 10.0
b. 1 my o HH centOS 5.6 chnh IP: 192.168.85.134
c. 1 my o HH centOS 5.6 ph IP: 192.168.85.135
d. My o c kt ni Internet s dng lnh YUM
2. Ci t:
Yu cu t ra:
ng b ha d liu mt cch t ng th mc /var/www/ t server chnh sang server ph
a. Trn my centOS 5.6 chnh (192.168.85.34)
M Terminal v g lnh:
rpm qa | grep rsync kim tra gi RSYNC ci t hay cha.
Nu cha ta ci t RSYNC vi YUM:
yum install rsync
Kim tra ssh (ng b khng cn nhp password)
# rpm qa | grep ssh
-
Nu cha c
# yum install openssh
b. Tng t trn my centOS 5.6 ph (192.168.85.135)
M terminal v g lnh
# rpm qa | grep rsync
Nu cha c th
# yum install rsync
Kim tra ssh (ng b khng cn nhp password)
# rpm qa | grep ssh
Nu cha c
# yum install openssh
To ti khon thc hin rsync:
Thc hin trn server chnh bng quyn root. V d y mnh to ti khon tn l syntest
# useradd -d /home/syntest -m -s /bin/bash syntest
Lnh trn s to ti khon syntest vi th mc gc l /home/syntest v login ch
/bin/bash. Sau , ta tin hnh t mt khu cho ti khon syntest bng lnh:
# passwd syntest
Th rsync: Thc hin trn server ph bng quyn root
# rsync -avz -e ssh [email protected]:/var/www//root/Desktop/backup
Lnh trn yu cu bn nhp mt khu ca ti khon syntest. Sau khi thc hin thnh cng,
bn vo th mc /root/Desktop/backup thuc server ph th s thy th mc www c
copy sang.
To key xc thc khng cn nhp mt khu khi thc hin rsync: Thc hin trn server
ph bng quyn root
# mkdir /root/rsync
# ssh-keygen -t dsa -b 1024 -f /root/rsync/mirror-rsync-key
Lu khi yu cu nhp passphrase, bn khng cn in g c ch cn nhn Enter
Tip theo ta chp public key t server ph sang server chnh
# scp /root/rsync/mirror-rsync-key.pub [email protected]:/home/syntest/
Cu hnh dch v SSH chp nhn kiu chng thc bng key: Thc hin trn server chnh
bng quyn root
# vi /etc/ssh/sshd_config
-
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Cu hnh server chnh: Thc hin trn server chnh bng quyn syntest
# mkdir ~/.ssh
# chmod 700 ~/.ssh
# mv ~/mirror-rsync-key.pub ~/.ssh/
# cd ~/.ssh
# touch authorized_keys
# chmod 600 authorized_keys
# cat mirror-rsync-key.pub >> authorized_keys
Cc lnh trn dng chn ni dung ca mirror-rsync-key.pub vo tp tin
/home/syntest/.ssh/authorized_keys
Th nghim rsync bng key: Thc hin trn server ph bng quyn root
rsync -avz --delete -e "ssh -i /root/rsync/mirror-rsync-key"
[email protected]:/var/www/ /root/Desktop/backup
Nu thnh cng th tin trnh ng b d liu s c thc thi m khng yu cn bn nhp
mt khu
Lp lch chy ng b t ng: Thc hin trn server ph bng quyn root
# crontab -e
Nhp ni dung nh sau
*/5 * * * * /usr/bin/rsync -avz --delete -e "ssh -i /root/rsync/mirror-rsync-key"
[email protected]:/var/www/ /root/Desktop/backup
Lu : c sau mi 5 pht th lnh trn t ng thc hin 1 ln
III. nh thc nghim
-
1. Server chnh 192.168.158.134
2. Server ph 192.168.58.135
-
3. Ping 2 my vi nhau
4. Lnh rsync vi ssh
# rsync -avz --delete -e "ssh -i /root/rsync/mirror-rsync-key"
[email protected]:/var/www/ /root/Desktop/backup/
-
Kt qu lnh
5. Rsync khng c key ssh
# rsync -avz -e ssh [email protected]:/var/www /root/Desktop/backupnew
V cha c key xc thc nn server yu cu mt khu ca ti khon syntest
-
Mt khu syntest: 123
Kt qu lnh trn
6. Thit lp rsync t ng vi lnh # crontab e
*/5 * * * * /usr/bin/rsync avz delete e ssh i /root/rsync/mirror-rsync-key
[email protected]:/var/www/ /root/Desktop/backup
C mi 5 pht th server ph s t ng chy rsync