SSH ద్వారా rsync కమాండ్, రెండు సర్వర్ల మధ్య భారీ ఫైళ్లను వేగంగా, సురక్షితంగా మరియు నిలకడగా తరలించేందుకు అత్యంత సమర్థవంతమైన లినక్స్ పద్ధతుల్లో ఒకటి. ముఖ్యంగా వందల జీబీ పరిమాణం ఉన్న వెబ్సైట్ ఫైళ్లు, బ్యాకప్ ఆర్కైవ్లు, మీడియా ఫోల్డర్లు లేదా అప్లికేషన్ డేటా తరలింపులు జరిగేటప్పుడు, rsync కేవలం మారిన భాగాల్ని మాత్రమే పంపడం వల్ల సాంప్రదాయ కాపీ చేసే విధానాలతో పోలిస్తే గణనీయమైన వేగ ప్రయోజనం కలిగిస్తుంది. మౌలికంగా: మూల సర్వర్లో ఉన్న ఫైళ్లు SSH టన్నెల్ ద్వారా లక్ష్య సర్వర్కు ఎన్క్రిప్టెడ్గా సమకాలీకరించబడతాయి; కనెక్షన్ కోల్పోతే ఆ పని మిగిలిన చోట నుంచి కొనసాగించవచ్చు.
సర్వర్ మార్పిడి, హోస్టింగ్ అప్గ్రేడ్, డేటా సెంటర్ మార్పిడి లేదా బ్యాకప్ ఆపరేషన్లలో వేగం మాత్రమే కాకుండా డేటా సమగ్రత కూడా చాలా ముఖ్యం. పెద్ద ఆర్కైవ్ను ఒకేసారి డౌన్లోడ్ చేసి మళ్లీ అప్లోడ్ చేయడం సమయం వృథా చేసే పని మాత్రమే కాకుండా కనెక్షన్ లోపాల వల్ల తిరిగి మొదలుపెట్టాల్సి వస్తుంది. ఇక్కడ rsync ప్రవేశించి ఫైల్ టైమ్స్టాంప్లు, అనుమతులు, యజమాని సమాచారం, ఫోల్డర్ నిర్మాణం అన్ని కాపాడుతుంది. అందుకే లినక్స్ సిస్టమ్ అడ్మిన్లు, DevOps బృందాలు, వెబ్ హోస్టింగ్ నిపుణులు రోజువారీ ఆపరేషన్లలో దీన్ని ఎక్కువగా ఉపయోగిస్తారు.
ఈ గైడ్లో రెండు లినక్స్ సర్వర్ల మధ్య SSH ద్వారా rsync ఉపయోగించి భారీ ఫైళ్లను తరలించే విధానాన్ని, వాస్తవ కమాండ్ ఉదాహరణలతో దశలవారీగా వివరించబోతున్నాం. అలాగే పెర్ఫార్మెన్స్ మెరుగుపరచడానికి పారామీటర్లు, సెక్యూరిటీ చెక్లు, లోపాల పరిష్కారాలు, టెస్ట్ ట్రాన్స్ఫర్ విధానాలు, ప్రొడక్షన్కు ముందుగా గమనించాల్సిన విషయాలు కూడా చర్చిస్తాము. మీరు కొత్త VPS లేదా హోస్టింగ్ వాతావరణానికి మారాలని భావిస్తుంటే, ఈ గైడ్ అనుసరించే ముందు మూలం మరియు లక్ష్య సర్వర్లలో సరిపడిన డిస్క్ స్పేస్, SSH యాక్సెస్, సరైన యూజర్ అనుమతులు ఉన్నాయో లేదో ఖచ్చితంగా తనిఖీ చేసుకోండి. సంబంధిత ఇన్ఫ్రాస్ట్రక్చర్ ఎంపిక కోసం Hostragons VPS సర్వర్ పరిష్కారాలు మరియు లినక్స్ హోస్టింగ్ ప్యాకేజీలు పేజీలను పరిశీలించవచ్చు.
rsync అంటే ఏమిటి? భారీ ఫైళ్ల తరలింపులో rsync ఎందుకు ఉత్తమం?
rsync అనేది ఫైళ్ళను, డైరెక్టరీలను లోకల్ సిస్టమ్లో లేదా రిమోట్ సర్వర్ల మధ్య సమకాలీకరించడానికి ఉపయోగించే శక్తివంతమైన కమాండ్ లైన్ టూల్. దీని ప్రధాన ప్రత్యేకత డెల్టా ట్రాన్స్ఫర్ అల్గోరిథమ్. ఈ అల్గోరిథమ్ ద్వారా ఫైల్ మొత్తాన్ని మళ్లీ పంపించకుండా కేవలం మారిన భాగాలు మాత్రమే పంపబడతాయి. ఉదాహరణకు, 80 GB పరిమాణం ఉన్న బ్యాకప్ ఫైల్లో కేవలం 2 GB మాత్రమే మార్పు జరిగిందనుక, మొత్తం ఫైల్ను మళ్లీ తరలించడం కాకుండా మారిన భాగాలను మాత్రమే తరలించడం సాధ్యం.
SSH ద్వారా డేటా ట్రాన్స్ఫర్ ఎన్క్రిప్టెడ్గా జరుగుతుంది. దీంతో rsync కమాండ్ నెట్వర్క్ ద్వారా డేటాను ప్లెయిన్ టెక్స్ట్గా తరలించదు. ఈ సెక్యూరిటీ ఫీచర్ కస్టమర్ డేటా, ఈ-కామర్స్ ఆర్డర్ రికార్డులు, మీడియా ఆర్కైవ్లు, డేటాబేస్ బ్యాకప్లు మరియు ప్రైవేట్ అప్లికేషన్ ఫైళ్ల కోసం చాలా ముఖ్యం. హోస్టింగ్ ప్రపంచంలో డేటా సెక్యూరిటీ కేవలం SSL సర్టిఫికేట్తో మాత్రమే కాదు, సర్వర్ల మధ్య ట్రాన్స్ఫర్ ఛానెల్ కూడా సురక్షితంగా ఉండాలి. వెబ్ ట్రాఫిక్ కోసం SSL సర్టిఫికేట్ ఉపయోగిస్తే, సర్వర్ల మధ్య ఫైల్ ట్రాన్స్ఫర్కి కూడా SSH ఎన్క్రిప్షన్ను ప్రాధాన్యం ఇవ్వాలి.
rsync, FTP లేదా మాన్యువల్ డౌన్లోడ్-అప్లోడ్ పద్ధతులతో పోలిస్తే మరింత ఫ్లెక్సిబుల్. ఇది అనుమతులను కాపాడగలదు, సింబాలిక్ లింక్లను తరలించగలదు, తొలగించిన ఫైళ్ళను లక్ష్య సర్వర్లో కూడా తొలగించగలదు, బ్యాండ్విడ్త్ను నియంత్రించగలదు మరియు ట్రాన్స్ఫర్ ముందు టెస్ట్ కూడా చేయగలదు. భారీ ఫైళ్ల తరలింపు వంటి సున్నితమైన ఆపరేషన్లలో ఈ నియంత్రణ స్థాయి పెద్ద అదృష్టం.
ఎప్పుడు SSH ద్వారా rsync కమాండ్ ఉపయోగించాలి?
SSH ద్వారా rsync కమాండ్ ముఖ్యంగా భారీ, అనేక ఫైళ్ల లేదా తరచూ మారే ఫైళ్ల తరలింపుకు ఉత్తమం. సులభమైన ఇమేజ్ ఫోల్డర్కి మాన్యువల్ SFTP సరిపోతుంది; కానీ వేల సంఖ్యలో ఫైళ్లు, భిన్న అనుమతులు మరియు భారీ ఆర్కైవ్ల విషయంలో rsync చాలా విశ్వసనీయంగా మారుతుంది.
- పాత సర్వర్ నుంచి కొత్త VPS సర్వర్కు వెబ్సైట్ తరలిస్తున్నప్పుడు.
- WordPress uploads ఫోల్డర్ వంటి వేలాది మీడియా ఫైళ్లను తరలిస్తున్నప్పుడు.
- ప్రతిరోజు, వారంవారీ లేదా నెలవారీ బ్యాకప్లను వేరే సర్వర్కు కాపీ చేస్తున్నప్పుడు.
- డేటా సెంటర్ లేదా హోస్టింగ్ ప్రొవైడర్ మార్పులు చేస్తున్నప్పుడు.
- అప్లికేషన్ ఫైళ్లను ప్రొడక్షన్ మరియు బ్యాకప్ వాతావరణాల మధ్య సమకాలీకరించడం.
- పూర్తిగా కొనసాగని కనెక్షన్ ఉన్న పరిస్థితుల్లో దీర్ఘకాలిక ట్రాన్స్ఫర్లు ప్లాన్ చేస్తున్నప్పుడు.
ఉదాహరణకి, 250 GB పరిమాణం ఉన్న మీడియా ఫోల్డర్ను మీ డెస్క్టాప్లోకి డౌన్లోడ్ చేసి తర్వాత కొత్త సర్వర్కు అప్లోడ్ చేయడం అంటే రెండు విడతల్లో డేటా తరలించటం. ఇది మొత్తం సమయాన్ని పెంచడమే కాకుండా ఇంటర్నెట్ కనెక్షన్ను కూడా బరువు చేస్తుంది. rsync తో మూల సర్వర్ నుండి లక్ష్య సర్వర్కు నేరుగా ట్రాన్స్ఫర్ చేయడం వలన ఈ మధ్యవర్తిత్వ దశ తప్పవచ్చు.
ప్రారంభించేముందు అవసరమైన సన్నాహాలు
rsync ఆపరేషన్ విజయవంతం కావాలంటే కమాండ్ తెలుసుకోవడం మాత్రమే సరిపోదు. మూలం మరియు లక్ష్య సర్వర్ పరిస్థితులను తనిఖీ చేయడం ద్వారా డేటా నష్టం లేదా అర్ధంగా ట్రాన్స్ఫర్ అవ్వడం వంటి ప్రమాదాలను తగ్గించవచ్చు. క్రింది తనిఖీలు ప్రొడక్షన్ వాతావరణంలో తప్పనిసరిగా చేయాలి.
1. SSH యాక్సెస్ను ధృవీకరించండి
మూల సర్వర్ నుంచి లక్ష్య సర్వర్కు SSH కనెక్షన్ సక్రమంగా ఉండాలి. సాధారణంగా: ssh user@target-server-ip అనే విధంగా పరీక్షిస్తారు. SSH వేరే పోర్ట్లో ఉంటే: ssh -p 2222 user@target-server-ip అని ప్రయత్నించాలి. ఈ టెస్ట్ ఫెయిల్ అయితే rsync కూడా పని చేయదు. ఫైరవాల్, Fail2ban, SSH పోర్ట్, యూజర్ అనుమతులు, పాస్వర్డ్ లేదా కీ వాలిడేషన్లను పరిశీలించాలి.
2. rsync ప్యాకేజ్ ఇన్స్టాల్ ఉందా పరిశీలించండి
అధికంగా లినక్స్ డిస్ట్రోస్లో rsync ముందే ఇన్స్టాల్ అయి ఉంటుంది, అయినా చెక్ చేయడం మంచిది. Debian, Ubuntu వంటి సిస్టమ్స్లో rsync --version కమాండ్ ఉపయోగించి తెలుసుకోవచ్చు. లేకుంటే apt install rsync తో ఇన్స్టాల్ చేయవచ్చు. AlmaLinux, Rocky Linux, CentOS వంటి డిస్ట్రోస్లో dnf install rsync లేదా yum install rsync ఉపయోగిస్తారు. Hostragons VPS లాంటి లినక్స్ సర్వర్లలో ఇది కేవలం క్షణాల్లో పూర్తవుతుంది.
3. డిస్క్ స్థలం లెక్కించండి
లక్ష్య సర్వర్లో సరిపడా ఖాళీ స్థలం లేకపోతే ట్రాన్స్ఫర్ మధ్యలో ఆగిపోతుంది. మూల డైరెక్టరీ పరిమాణం తెలుసుకోవడానికి du -sh /path/to/source/ వాడండి. లక్ష్య సర్వర్లో df -h తో డిస్క్ స్థితి తెలుసుకోండి. సాధారణంగా ఫైల్ పరిమాణం కంటే కొంత ఎక్కువ స్థలం (తాత్కాలిక ఫైళ్లు, లాగ్స్ కోసం) ఖాళీగా ఉండాలి. ఉదాహరణకి 500 GB డేటా తరలిస్తుంటే 550-600 GB ఖాళీగా ఉండటం మంచిది.
4. కీలక సర్వీసులు మరియు మారుతున్న ఫైళ్లను ముందుగానే ప్లాన్ చేయండి
లైవ్ వెబ్సైట్లు ఉన్నప్పుడు ఫైళ్లు తరలింపు సమయంలో మారవచ్చు. ముఖ్యంగా యూజర్ అప్లోడ్లు, క్యాష్ ఫోల్డర్లు, లాగ్ ఫైళ్లు సడలకుండా నవీకరిస్తుంటాయి. భారీ తరలింపుల్లో మొదట ప్రధాన డేటాను తరలించి, తర్వాత మింటెనెన్స్ మోడ్లోకి మార్చి మరోసారి rsync చేసి చివరి మార్పులను సింక్ చేస్తారు. దీంతో డౌన్టైమ్ ని కొన్ని నిమిషాలకి తగ్గించవచ్చు. WordPress సైట్ల కోసం WordPress హోస్టింగ్ మిలకంపై గైడ్ వంటి సపోర్ట్ కంటెంట్ ఉపయోగించవచ్చు.
ప్రాథమిక rsync కమాండ్: రెండు సర్వర్ల మధ్య ఫైళ్లను తరలించడం
సర్వసాధారణంగా వినియోగించే ఫార్మాట్: rsync -avz /path/to/source/ user@target-ip:/path/to/destination/ ఇక్కడ -a అంటే ఆర్కైవ్ మోడ్, ఇది అనుమతులు, టైమ్స్టాంప్లు, సింబాలిక్స్ లింక్లను కాపాడుతుంది. -v అంటే వివరమైన అవుట్పుట్. -z అంటే ట్రాన్స్ఫర్ సమయంలో కంప్రెస్ చేయడం. మూల డైరెక్టరీ చివర ఉన్న స్లాష్ అంతిమ ఫలితానికి తేడా కలిగిస్తుంది: /path/to/source/ అంటే ఆ డైరెక్టరీలోని ఫైళ్లను మాత్రమే కాపీ చేస్తుంది; /path/to/source అంటే ఆ డైరెక్టరీతో పాటు కాపీ అవుతుంది.
ఉదాహరణ: పాత సర్వర్లో /var/www/site/public_html/లో ఉన్న 180 GB వెబ్ డేటాను కొత్త సర్వర్లో అదే డైరెక్టరీకి తరలించాలనుకుంటున్నారు అనుకోండి. కమాండ్: rsync -avz /var/www/site/public_html/ root@203.0.113.20:/var/www/site/public_html/ ఇది మూల సర్వర్ నుంచి లక్ష్య సర్వర్కు SSH ద్వారా ఫైళ్ళను తరలిస్తుంది.
root యూజర్ ఉపయోగించకపోతే, లక్ష్య సర్వర్లో ఆ డైరెక్టరీకి రైట్ ఉన్న ప్రత్యేక యూజర్ని సృష్టించడం సురక్షితం. ఉదాహరణకి deploy అనే యూజర్ను ఉపయోగించి అవసరమైన ఫోల్డర్ యజమానితనం మార్చవచ్చు. ప్రొడక్షన్ వాతావరణాల్లో root తో నేరుగా పని చేయడం సులభం అయినా, సెక్యూరిటీ కోణంలో పరిమితి ఉన్న యూజర్ ఉపయోగించడం మంచిది.
భద్రత మరియు స్థిరత్వం కోసం సిఫార్సు చేసే rsync పారామీటర్లు
భారీ ఫైళ్ల తరలింపుల్లో కేవలం ప్రాథమిక కమాండ్ ఉపయోగించటం సరిపోదు. కనెక్షన్ కోల్పోవడం, భాగంగా ట్రాన్స్ఫర్ అయ్యిన ఫైళ్లు, తప్పుగా తొలగింపులు, నెమ్మదిగా నెట్వర్క్ వంటి పరిస్థితులకు అదనపు పారామీటర్లు అవసరం. క్రింది కమాండ్ అనేక రియల్-టైమ్ కేటాయింపులకు బలమైన ప్రారంభం:
rsync -aHAXv --numeric-ids --partial --progress --append-verify -e ssh /path/to/source/ user@target-ip:/path/to/destination/
ఇక్కడ -a ఆర్కైవ్ మోడ్, -H హార్డ్ లింక్, -A ACL అనుమతులు, -X ఎక్స్టెండెడ్ అట్రిబ్యూట్లను కాపాడతాయి. --numeric-ids యూజర్ మరియు గ్రూప్ పేర్లను కాకుండా ID లను ఉపయోగించి వేరే సర్వర్లలో యూజర్ పేర్లు భిన్నంగా ఉన్నా సర్దుబాటు చేస్తుంది. --partial మధ్యలో మిగిలిన ఫైళ్లను తొలగించదు. --progress ట్రాన్స్ఫర్ స్టేటస్ చూపిస్తుంది. --append-verify పెద్ద ఫైళ్లలో మధ్యలో నిలిచిన చోట నుంచి కొనసాగించేటప్పుడు కొత్త భాగాన్ని ధృవీకరిస్తుంది.
ప్రతి సిస్టమ్కు అన్ని పారామీటర్లు అవసరం ఉండకపోవచ్చు. సాధారణ సైట్లకు -aHAX సరిపోతుంది; కాని ప్రత్యేక అనుమతులు అవసరమైతే ACL, ఎక్స్టెండెడ్ అట్రిబ్యూట్స్ కీలకం అవుతాయి. కాబట్టి ముందుగా టెస్ట్ చేయడం మంచిది.
వేరే SSH పోర్ట్ వాడుతున్నారా? కమాండ్ ఎలా ఉండాలి?
భద్రత కోసం SSH పోర్ట్ 22 కాకుండా వేరే పోర్ట్లో ఉండొచ్చు. ఈ సందర్భంలో rsync లో SSH ఆప్షన్ ఇవ్వాలి. ఉదాహరణ: rsync -avz -e ssh -p 2222 /path/to/source/ user@target-ip:/path/to/destination/ అయితే -e ఆప్షన్ విలువ సరిగ్గా ఇవ్వాలి: rsync -avz -e 'ssh -p 2222' /path/to/source/ user@target-ip:/path/to/destination/ JSON లేదా కొన్ని ప్యానెల్స్లో single quotes ప్రవర్తన భిన్నంగా ఉండొచ్చు, కాబట్టి టెర్మినల్లో నేరుగా టైప్ చేస్తున్నప్పుడు క్వోట్స్ సరిగా ఉన్నాయో చూసుకోండి. SSH కీ ఆధారంగా కనెక్ట్ అయితే -i పారామీటర్ కూడా చేర్చవచ్చు: rsync -avz -e 'ssh -p 2222 -i /root/.ssh/id_rsa' /path/to/source/ user@target-ip:/path/to/destination/ ఈ పద్ధతి ఆటోమేషన్, క్రాన్ బేస్డ్ బ్యాకప్లకు ఉపయోగపడుతుంది.
ట్రాన్స్ఫర్ ముందు పరీక్ష కోసం --dry-run ఉపయోగించడం
భారీ డేటా తరలించేముందు ఒక ఉత్తమ ఆచారం --dry-run ఆప్షన్ ఉపయోగించడం. ఇది ఫైల్స్ను కాపీ చేయదు, కానీ ఏ ఫైళ్లు తరలించబడతాయో చూపిస్తుంది. కాబట్టి తప్పు డైరెక్టరీ, తప్పు టార్గెట్ పాథ్ లేదా అనూహ్యమైన డిలీషన్లు ముందుగానే గుర్తించవచ్చు.
ఉదాహరణ: rsync -avz --dry-run /var/www/site/ user@target-ip:/var/www/site/ ఫలితంలో తరలించాల్సిన ఫైళ్ల జాబితా, క్రియేటవయ్యే డైరెక్టరీలు, ఆపరేషన్ సారాంశం కనబడతాయి. --delete ఆప్షన్ ఉపయోగిస్తుంటే dry-run మరింత అవసరం అవుతుంది, ఎందుకంటే --delete మూలంలో లేని ఫైళ్లను లక్ష్యంలో కూడా తొలగిస్తుంది. సరైన ఉపయోగం లక్ష్యాన్ని మూలంతో పూర్తిగా సరిపోల్చడమే; తప్పుగా ఉపయోగిస్తే డేటా నష్టం కలుగుతుంది.
ఉద్యోగవేత్తల పని సూత్రం ఇలా ఉంటుంది: ముందుగా SSH కనెక్షన్ పరీక్ష, తర్వాత డిస్క్ స్థలం తనిఖీ, ఆపై rsync --dry-run, చిన్న డైరెక్టరీతో ప్రాక్టీస్, తర్వాత పూర్తి ట్రాన్స్ఫర్ మొదలు. ఇది కొంత అదనపు సమయం తీసుకున్నా పెద్ద లోపాలు నివారిస్తుంది.
పెర్ఫార్మెన్స్ కోసం కంప్రెషన్, బ్యాండ్విడ్త్ మరియు ఎన్క్రిప్షన్ సెట్టింగ్స్
rsync పనితీరు కేవలం ఫైల్ పరిమాణంపై ఆధారపడి ఉండదు. సర్వర్ CPU సామర్థ్యం, డిస్క్ రకం, నెట్వర్క్ లేటెన్సీ, బ్యాండ్విడ్త్, ఫైళ్ల సంఖ్య కూడా ప్రాముఖ్యం. చిన్న చిన్న ఫైళ్ల సంఖ్య ఎక్కువైతే ఒక పెద్ద ఫైల్ కంటే ఎక్కువ సమయం పడుతుంది, ఎందుకంటే ప్రతి ఫైల్ సరిగ్గా ప్రాసెస్ చేయాలి. NVMe డిస్క్ల VPS లో ఫైల్ స్కానింగ్, రైటింగ్ వేగం గణనీయంగా మెరుగ్గా ఉంటుంది. కాబట్టి భారీ ట్రాన్స్ఫర్ ప్లాన్ ఉంటే NVMe VPS సర్వర్ ఆప్షన్లను పరిశీలించడం మంచిది.
-z కంప్రెషన్ ఆప్షన్ టెక్స్ట్ ఫైళ్ల, లాగ్లు, కొన్ని బ్యాకప్ ఫైళ్లకు ఉపయోగపడుతుంది. కానీ ఇప్పటికే కంప్రెస్ అయిన zip, tar.gz, jpg, mp4, gzip ఫైళ్లలో CPU ఎక్కువ తీసుకుని పెద్ద లాభం ఉండదు. 1 Gbps కనెక్షన్ ఉన్న రెండు శక్తివంతమైన సర్వర్ల మధ్య భారీ మీడియా ఫైళ్లు తరలిస్తుంటే -z లేకుండా వేగం మెరుగవచ్చు. తక్కువ బ్యాండ్విడ్త్ ఉన్న, టెక్స్ట్ బేస్డ్ ఫైళ్లలో -z మంచి ఆదా చేస్తుంది.
బ్యాండ్విడ్త్ పరిమితం చేయడానికి --bwlimit ఉపయోగించవచ్చు. ఉదాహరణకి --bwlimit=50000 అంటే సుమారు 50 MB/s పరిమితి. ఇది లైవ్ వెబ్సైట్ ట్రాఫిక్ను ప్రెజర్వ్ చేయడానికి ముఖ్యం. ప్రొడక్షన్ సర్వర్లో ఆఫీస్ గంటల్లో పూర్తి వేగంతో ట్రాన్స్ఫర్ చేయడం యూజర్ అనుభవాన్ని దెబ్బతీస్తుంది. కాబట్టి తరలింపును రాత్రి ప్లాన్ చేయడం, బ్యాండ్విడ్త్ పరిమితి పెట్టడం, లోడ్ ఆవరేజీని గమనించడం మంచి పద్ధతి.
rsync, scp, SFTP మరియు FTP తులన

ఫైల్ తరలింపుకు అనేక పద్ధతులు ఉన్నా, వాటి బలాలు, బలహీనతలు వేర్వేరు. దిగువ పట్టికలో భారీ ఫైళ్ల, సర్వర్ తరలింపు సందర్భాలలో ఏ టూల్ ఎప్పుడు ఉపయోగించాలి అనేది సరళీకృతంగా చూపిస్తాం.
| విధానం | భద్రత | మిగిలిన చోట నుంచి కొనసాగింపు | భారీ ఫైల్ పనితీరు | ఉత్తమ ఉపయోగం |
|---|---|---|---|---|
| rsync + SSH | అత్యున్నతం | బలమైనది | చాలా మంచి | సర్వర్ తరలింపు, బ్యాకప్, సమకాలీకరణ |
| scp | అత్యున్నతం | పరిమితి | మధ్యస్థం | కొన్ని ఫైళ్ల వేగవంతమైన కాపీ |
| SFTP | అత్యున్నతం | క్లయింట్ ఆధారితం | మధ్యస్థం | మాన్యువల్ ఫైల్ నిర్వహణ |
| FTP | తక్కువ | క్లయింట్ ఆధారితం | వేరువేరు | భద్రత అవసరం లేని పాత సిస్టమ్స్ |
ఈ పట్టిక ప్రకారం rsync, ముఖ్యంగా తరచుగా సమకాలీకరణలు, భారీ డేటా తరలింపుల్లో ముందుంటుంది. scp సరళమైనది కాని మార్పుల గుర్తింపులో rsync లాగే బలంగా ఉండదు. FTP ఎన్క్రిప్షన్ లేకుండా సురక్షితంగా లేదు. హోస్టింగ్ ప్యానెల్లలో FTP సౌకర్యవంతమైనా, సర్వర్ల మధ్య కీలకమైన ట్రాన్స్ఫర్లకు SSH ఆధారిత పద్ధతులు మంచివి.
లైవ్ వెబ్సైట్ తరలింపుకు ఉదాహరణ వర్క్ఫ్లో
వెబ్సైట్ను పాత సర్వర్ నుండి కొత్త సర్వర్కు తరలించేటప్పుడు కేవలం ఫైళ్ల కాపీ చేయడం కాదు, DNS, డేటాబేస్, SSL, PHP వెర్షన్, ఫైల్ అనుమతులు, ఇమెయిల్ సెట్టింగ్స్ కూడా పరిశీలించాలి. క్రింద భారీ ఫైళ్లతో కూడిన వెబ్సైట్ కోసం తక్కువ డౌన్టైమ్ కలిగించే పని ప్రణాళిక ఇవ్వబడింది.
- కొత్త సర్వర్లో వెబ్ సర్వర్, PHP, డేటాబేస్, అవసరమైన మాడ్యూల్స్ సిద్ధం చేయండి.
- డొమైన్ DNS TTL విలువను తరలింపు ముందు 300 సెకన్లకు తగ్గించండి. డొమైన్ నిర్వహణ కోసం డొమెయిన్ విచారణ మరియు డొమెయిన్ నిర్వహణ సహాయం తీసుకోండి.
- ప్రథమ rsync ట్రాన్స్ఫర్ను సైట్ లైవ్ ఉన్నప్పుడు ప్రారంభించండి. ఇది ఎక్కువ డేటాను తరలిస్తుంది.
- డేటాబేస్ బ్యాకప్ తీసుకుని కొత్త సర్వర్కు తరలించండి.
- సైట్ను తాత్కాలికంగా మెంటెనెన్స్ మోడ్లోకి మార్చండి.
- రెండో rsync కమాండ్తో చివరి మార్పులు సమకాలీకరించండి.
- డేటాబేస్ను తిరిగి తాజా చేయండి లేదా ఇన్క్రిమెంటల్ స్ట్రాటజీ ఉపయోగించండి.
- కొత్త సర్వర్లో ఫైల్ అనుమతులు, సైట్ స్టార్ట్, లాగ్స్ తనిఖీ చేయండి.
- SSL సర్టిఫికేట్ ఇన్స్టాల్ లేదా రీన్యూ చేయండి. దీనికోసం SSL సర్టిఫికేట్ సంస్థాపన సహాయం తీసుకోండి.
- DNS రికార్డులను కొత్త IPకి రీడైరెక్ట్ చేయండి.
ఈ విధానంలో ప్రధాన డేటా తరలింపు సైట్ లైవ్ సమయంలో జరుగుతుంది. డౌన్టైమ్ కేవలం చివరి సమకాలీకరణ మరియు DNS మార్పు సమయంలో మాత్రమే ఉంటుంది. భారీ మీడియా కలిగిన WordPress సైట్లలో ఇది గంటల తరయిన డౌన్టైమ్ను కొన్ని నిమిషాలకి తగ్గిస్తుంది.
డేటా సమగ్రతను నిర్ధారించుకోవడం
ట్రాన్స్ఫర్ పూర్తయిన వెంటనే కేవలం కమాండ్ ముగిసినదిగా భావించకూడదు. ఫైళ్ల సంఖ్య, పరిమాణం, ముఖ్యమైన ఫైళ్లను తనిఖీ చేయాలి. సులభమైన తనిఖీకి మూలం, లక్ష్య డైరెక్టరీలలో du -sh కమాండ్తో పరిమాణాలను పోల్చవచ్చు. అయితే ఫైల్ సిస్టమ్ బ్లాక్ తేడాల వల్ల పూర్తి సమానత ఉండకపోవచ్చు. మరింత లోతైన తనిఖీకి rsyncను మళ్లీ అదే పారామీటర్లతో రన్ చేయవచ్చు; కొత్త ఫైళ్లు లేకపోతే అవుట్పుట్ చాలా తక్కువగా ఉంటుంది.
చెక్సమ్ ఆధారిత ధృవీకరణకి rsync -avc --dry-run /source/ user@target:/destination/ ఉపయోగించవచ్చు. -c ఆప్షన్ ఫైళ్లను టైమ్స్టాంప్, పరిమాణం తో పాటు చెక్సమ్తో కూడా పోల్చుతుంది. పెద్ద డేటాలో CPU, డిస్క్ లోడ్ పెరగొచ్చు కాబట్టి జాగ్రత్తగా వాడాలి. కీలక ఆర్కైవ్లు, డేటాబేస్ డంప్లు, కస్టమర్ డాక్యుమెంట్లు కోసం అదనపు భద్రతగా ఇది ఉపయోగపడుతుంది.
వెబ్సైట్ తరలిస్తుంటే అప్లికేషన్ స్థాయిలో కూడా తనిఖీ చేయండి. హోమ్ పేజీ, అడ్మిన్ పానెల్, ఇమేజ్ అప్లోడ్, చెల్లింపు పేజీ, కాంటాక్ట్ ఫారం, లోపాల లాగ్స్ పరిశీలించాలి. ఈ-కామర్స్ సైట్లలో కేవలం ఫైళ్ల కాపీ కాదు, చెల్లింపు ఇంటిగ్రేషన్, క్రాన్ జాబ్స్ కొత్త సర్వర్లో సరిగా పనిచేస్తున్నాయో కూడా చూడాలి.
సాధారణ లోపాలు మరియు పరిష్కారాలు
Permission denied లోపం
ఇది సాధారణంగా SSH యూజర్ అనుమతులు, లక్ష్య డైరెక్టరీ రైట్ లేకపోవడం లేదా కీ వాలిడేషన్ సమస్యల వల్ల వస్తుంది. ముందుగా అదే యూజర్తో సాధారణ SSH కనెక్షన్ ట్రై చేయండి. కనెక్షన్ సక్సెస్ అయితే లక్ష్య డైరెక్టరీలో ఫైల్ క్రియేట్ చేయగలిగే ప్రయత్నం చేయండి. అవసరమైతే chownతో యూజర్కు ఆ డైరెక్టరీ యజమానితనం ఇవ్వండి లేదా sudo ఆధారిత విధానం ప్లాన్ చేయండి.
No space left on device లోపం
లక్ష్య సర్వర్లో స్పేస్ లేకపోతే ట్రాన్స్ఫర్ ఆగిపోతుంది. df -h తో డిస్క్ పార్టిషన్లు తనిఖీ చేయండి. కొన్నిసార్లు మేజర్ డిస్క్ ఖాళీగా ఉండి కూడా /tmp లేదా మౌంట్ పాయింట్ ఫుల్ కావచ్చు. భారీ తరలింపుల్లో లాగ్ ఫైళ్ళు, పాత బ్యాకప్లు, క్యాష్ క్లియర్ చేయవచ్చు. దీర్ఘకాల పరిష్కారం డిస్క్ సైజ్ పెంచడం లేదా పెద్ద VPSకి మారడం.
Connection reset లేదా Broken pipe లోపం
లంబ సమయ ట్రాన్స్ఫర్లలో నెట్వర్క్ కట్ కావచ్చు. --partial, --append-verify ఉపయోగిస్తే ఆ కమాండ్ మళ్లీ నడిపి మిగిలిన భాగం నుండి కొనసాగవచ్చు. అదనంగా SSH keepalive సెట్టింగులు ఉపయోగపడతాయి. క్లయింట్ వైపు ServerAliveInterval=60 వంటి సెట్టింగ్ కనెక్షన్ ఎడ్జ్లో వుండకుండా సహాయపడుతుంది.
అత్యంత నెమ్మదిగా ట్రాన్స్ఫర్ అవ్వడం
నెమ్మదితనం ఫైళ్ల సంఖ్య, డిస్క్ I/O లిమిట్, కంప్రెషన్ లోడ్, నెట్వర్క్ కెపాసిటీ కారణం కావచ్చు. చిన్న ఫైళ్లను ఎక్కువగా ఉండేటప్పుడు ముందుగా tar ఆర్కైవ్ చేసి ఆ తర్వాత rsync చేయడం వేగవంతం. కానీ ఈ పద్ధతిలో rsync డెల్టా ట్రాన్స్ఫర్ లాభం తగ్గుతుంది. భారీ, ఇప్పటికే కంప్రెస్ అయిన ఫైళ్లలో -z ఆప్షన్ తీసెయ్యడం మేలే. iotop, htop, iftop వంటి టూల్స్తో CPU, డిస్క్, నెట్వర్క్ బాటిల్నెక్ గుర్తించండి.
భద్రత కోసం ఉత్తమ పద్ధతులు
సర్వర్ల మధ్య ఫైల్ ట్రాన్స్ఫర్లో భద్రతను తక్కువగానూ తీసుకోకూడదు. ముఖ్యంగా root యాక్సెస్, SSH కీలు, బ్యాకప్ ఫైళ్లను సున్నితంగా చూడాలి. మొదటగా పాస్వర్డ్ బదులుగా SSH కీ ఆధారిత లాగిన్ను ప్రాధాన్యం ఇవ్వండి. కీ ఫైళ్ల అనుమతులు కఠినంగా ఉంచాలి, ప్రైవేట్ కీలు పంచుకోవద్దు, సాధ్యమైతే passphrase ఉపయోగించండి.
తరలింపు కోసం తాత్కాలిక యూజర్ సృష్టించి అవసరమైన ఫోల్డర్లకి మాత్రమే యాక్సెస్ ఇవ్వడం మంచిది. పని పూర్తయ్యాక యూజర్ ప్రివిలేజెస్ తీసివేయడం లేదా ఖాతాను డిసేబుల్ చేయండి. SSH యాక్సెస్ను నిర్దిష్ట IPలతో పరిమితం చేయడం కూడా హ్యాకింగ్ అవకాశాలు తగ్గిస్తుంది. ఫైరవాల్ నియమాలు, Fail2ban, తాజా OpenSSH వెర్షన్ ఉపయోగించడం తప్పనిసరి.
డేటాబేస్ డంప్లు, కస్టమర్ డాక్యుమెంట్లు లేదా వ్యక్తిగత సమాచారం ఉన్న ఆర్కైవ్లు తరలించిన తర్వాత మూలం, లక్ష్యాల్లో తాత్కాలిక ఫైళ్లను తొలగించాలి. వెబ్ రూట్ డైరెక్టరీలో .sql, .zip, .tar వంటి బ్యాకప్ ఫైళ్లు ఉంచడం భద్రతా సమస్య. వీటిని వెబ్ యాక్సెస్ కాని చోట ఉంచడం లేదా పని పూర్తయ్యాక తొలగించడం ఉత్తమం.
ఆటోమేటిక్ బ్యాకప్ కోసం rsync వాడకం
rsync కేవలం ఒక్కసారిగా తరలింపులకు కాదు, రెగ్యులర్ బ్యాకప్ల కోసం కూడా ఉపయోగపడుతుంది. ఉదాహరణకి ప్రతిరోజూ రాత్రి ఒక నిర్దిష్ట ఫోల్డర్ను బ్యాకప్ సర్వర్కు పంపించడానికి క్రాన్ జాబ్ సెట్ చేయవచ్చు. ఈ సందర్భంలో SSH కీ ఆధారిత పాస్వర్డ్ లేని సురక్షిత కనెక్షన్ కల్పించబడుతుంది, rsync కేవలం మారిన ఫైళ్లను మాత్రమే పంపుతుంది, బ్యాండ్విడ్త్ పరిమితి కూడా పెట్టవచ్చు.
ఉదాహరణ: rsync -a --delete --bwlimit=30000 /var/www/site/ backup@backup-ip:/backup/site/ ఈ కమాండ్ లక్ష్య డైరెక్టరీని మూలంతో సమంగా ఉంచుతుంది. కానీ --delete కారణంగా జాగ్రత్తగా ఉపయోగించాలి; మూలంలో తొలగించిన ఫైళ్లు లక్ష్యంలో కూడా తొలగిస్తాయి. కాబట్టి క్రిటికల్ బ్యాకప్ స్ట్రాటజీలలో స్నాప్షాట్లు, రోజువారీ ఫోల్డర్లు, వెర్షనింగ్ వంటి పద్ధతులు ఉపయోగించాలి.
హోస్టింగ్ ఆపరేషన్లలో 3-2-1 బ్యాకప్ రూల్ అనేది మంచి మార్గదర్శకము: కనీసం 3 కాపీలు, 2 వేర్వేరు మీడియాలు, 1 భిన్న ప్రాంతంలో. rsync ఈ కాపీలను సులభంగా సర్వర్ల మధ్య కాపీ చేయడంలో సహాయపడుతుంది. మరింత సంపూర్ణ ఇన్ఫ్రాస్ట్రక్చర్ కోసం బ్యాకప్ పరిష్కారాలు మరియు కార్యాలయ హోస్టింగ్ సేవలు కంటెంట్లను పరిశీలించవచ్చు.
చివరి తనిఖీ జాబితా
భారీ ఫైళ్ళ తరలింపును ప్రారంభించేముందు క్రింది చిన్న జాబితాను అనుసరించడం లోపాలు తగ్గిస్తుంది. ఇది ప్రొడక్షన్ వాతావరణాల్లో తప్పనిసరి.
- మూలం, లక్ష్య సర్వర్లలో rsync ఇన్స్టాల్ అయిందా?
- SSH కనెక్షన్ సరైన యూజర్, పోర్ట్తో టెస్ట్ చేశారా?
- లక్ష్య సర్వర్లో సరిపడా డిస్క్ స్పేస్ ఉందా?
- మొదటి ట్రాన్స్ఫర్ --dry-run తో పరీక్షించారా?
- లైవ్ సైట్ కోసం మెంటెనెన్స్ మోడ్, చివరి సమకాలీకరణ ప్లాన్ చేశారా?
- --delete ఆప్షన్ ఉపయోగిస్తే లక్ష్య మార్గం ఖచ్చితంగా ధృవీకరించారా?
- ట్రాన్స్ఫర్ తరువాత ఫైల్ పరిమాణాలు, అనుమతులు, అప్లికేషన్ టెస్ట్లు చేశారా?
- తాత్కాలిక బ్యాకప్, డంప్ ఫైళ్ళను సురక్షితంగా తొలగించారా?
ఈ తనిఖీలు సాధారణంగా చిన్నవిగా ఉన్నా, నిజ జీవితంలో ఎక్కువగా వచ్చే సమస్యలు తప్పు లక్ష్య డైరెక్టరీ, అనుమతుల లోపం, డిస్క్ స్పేస్ తక్కువ, ప్లాన్ చేయని DNS మార్పుల వల్లనే వస్తాయి. సక్రమంగా ప్లాన్ చేసిన rsync ప్రాసెస్ తరలింపు సమయాన్ని తగ్గించి, తిరిగి రావడాన్ని కూడా తగ్గిస్తుంది.
అత్యధిక ప్రశ్నలు
SSH ద్వారా rsync కనెక్షన్ కోల్పోతే ట్రాన్స్ఫర్ మళ్లీ మొదలవుతుందా?
లేదు, సరైన పారామీటర్లు ఉంటే మొదలు నుండి కాదు. --partial, --append-verify ఆప్షన్లు పెద్ద ఫైళ్లలో మధ్యలో నిలిచిన భాగాన్ని కాపాడి, మళ్లీ కమాండ్ నడిపితే ఆ స్థానంలో నుంచి కొనసాగుతుంది. అయినా కూడా కీలకమైన తరలింపుల్లో లక్ష్య డిస్క్ స్థలం, మధ్యలో ఉన్న ఫైళ్ల స్థితి తనిఖీ చేయడం మంచిది.
rsync తో డేటాబేస్ నేరుగా తరలించవచ్చా?
rsync కేవలం ఫైళ్లను తరలిస్తుంది; నడుస్తున్న డేటాబేస్ ఫైళ్లను నేరుగా కాపీ చేయడం సురక్షితం కాదు. MySQL, MariaDB వంటి డేటాబేస్లకు mysqldump లేదా ఫిజికల్ బ్యాకప్ టూల్స్ ఉపయోగించి ముందుగా బ్యాకప్ తీసుకుని ఆ బ్యాకప్ ఫైల్ను rsyncతో తరలించాలి. లైవ్ సిస్టమ్స్లో డేటా స్థిరత్వం కోసం మెంటెనెన్స్ మోడ్ లేదా రిప్లికేషన్ స్ట్రాటజీ అవసరం.
rsync ఉపయోగించడానికి రెండు సర్వర్లలో root యాక్సెస్ తప్పనిసరినా?
అవసరం లేదు. లక్ష్య డైరెక్టరీకి రైట్ ఉన్న యూజర్ సరిపోతుంది. కానీ ఫైల్ యజమానితనం, సిస్టమ్ డైరెక్టరీలు, ACL, ప్రత్యేక అనుమతులు అవసరమైతే అధిక అనుమతులు అవసరం కావచ్చు. భద్రత కోణంలో పరిమితి ఉన్న యూజర్తో పని చేయడం మంచిది.
--delete ఆప్షన్ సురక్షితమా?
--delete సరిగా ఉపయోగిస్తే లక్ష్యాన్ని మూలంతో సమంగా ఉంచుతుంది; కానీ తప్పు డైరెక్టరీలో ఉపయోగిస్తే ఫైళ్ల నష్టం జరగవచ్చు. కాబట్టి --delete ఉన్న కమాండ్లను ముందు --dry-run తో పరీక్షించాలి, మూల మరియు లక్ష్య మార్గాలను పూర్తిగా ధృవీకరించాలి.
భారీ ఫైళ్ల తరలింపులో rsync vs scp ఏది మంచిది?
చిన్న కాపీలకు scp సరిపోతుంది; కానీ భారీ ఫైళ్లు, అనేక ఫైళ్లు, తిరిగి సమకాలీకరణ అవసరమైతే rsync ఎక్కువ ఉపయోగకరంగా ఉంటుంది. ఇది మారిన భాగాలను గుర్తించి, అర్ధంగా నిలిచిన చోట నుంచి కొనసాగించి, బ్యాండ్విడ్త్ పరిమితం చేసి, పరీక్షా మోడ్ కూడా అందిస్తుంది.
సారాంశం మరియు తదుపరి సూచనలు
SSH ద్వారా rsync కమాండ్ ఉపయోగించి రెండు సర్వర్ల మధ్య భారీ ఫైళ్లను తరలించడం వేగవంతంగా, సురక్షితంగా, నియంత్రణలో ఉండే విధానం. సరైన పారామీటర్లతో కనెక్షన్ కోల్పోవడాన్ని నివారించి, కేవలం మారిన ఫైళ్లను మాత్రమే తరలించి సమయాన్ని ఆదా చేస్తుంది. లైవ్ సైట్ తరలింపులో డౌన్టైమ్ తగ్గిస్తుంది. ఉత్తమ ఫలితాల కోసం ముందు SSH, డిస్క్ తనిఖీలు చేసి --dry-run తో పరీక్షించి, ఆపై ప్రధాన ట్రాన్స్ఫర్ చేయండి.
మీరు కొత్త సర్వర్ మార్పు, పెద్ద స్టోరేజ్ లేదా అధిక పనితీరు హోస్టింగ్ ప్లాన్ చేస్తుంటే Hostragons పరిష్కారాలను పరిశీలించండి; VPS, హోస్టింగ్, డొమైన్, SSL ఆప్షన్లతో మీ తరలింపు ప్రక్రియను మరింత భద్రతగలది చేయవచ్చు. సులభమైన మార్పుకోసం చిన్న టెస్ట్లతో ప్రారంభించి, ఫలితాలు కొలిచి, చివరి సమకాలీకరణను శ్రద్ధగా ప్లాన్ చేయండి.