scp మరియు rsync: ఫైల్ల కాపీయింగ్
మీ కంప్యూటర్ మరియు సర్వర్ మధ్య ఫైల్లను బదిలీ చేయడానికి రెండు కమాండ్లు: scp ఎప్పుడు సరిపోతుంది, rsync ఏమి ఉపయోగపడుతుంది, మరియు ట్రైలింగ్ స్లాష్తో ఇతరుల డైరెక్టరీని ఎలా ఓవర్రైట్ చేయకూడదు.
23 ఆగస్టు, 2026న నవీకరించబడింది
గ్రాఫికల్ క్లయింట్ ఒకసారి చేసే మార్పులకు సౌకర్యంగా ఉంటుంది, కానీ డిప్లాయ్మెంట్లు మరియు బ్యాకప్లను ఒకే కమాండ్తో చేయడం సులభం.
scp: ఒకసారి కాపీ చేయడం
సింటాక్స్ cp లాగే ఉంటుంది, కానీ మెషిన్ అడ్రస్తో:
scp dump.sql root@203.0.113.10:/root/
scp root@203.0.113.10:/var/log/nginx/error.log ./
scp -r ./site root@203.0.113.10:/var/www/
మొదటి కమాండ్ ఫైల్ను పంపుతుంది, రెండవది ఒకదాన్ని తిరిగి తీసుకువస్తుంది, మూడవది మొత్తం డైరెక్టరీని కాపీ చేస్తుంది (-r).
SSH వేరే పోర్ట్లో నడుస్తుంటే, పెద్ద -P తో స్పెసిఫై చేయండి:
scp -P 2222 dump.sql root@203.0.113.10:/root/
~/.ssh/config ఫైల్ ఉంటే కమాండ్లు చిన్నవిగా మారుతాయి: scp dump.sql vds:/root/.
rsync: సింక్రనైజేషన్
rsync తేడాలు మాత్రమే ట్రాన్స్ఫర్ చేస్తుంది, ఆగిపోయిన ట్రాన్స్ఫర్ను రెజ్యూమ్ చేయగలదు మరియు ప్రోగ్రెస్ చూపిస్తుంది. పునరావృత డిప్లాయ్మెంట్లకు ఇది చాలా రెట్లు వేగంగా ఉంటుంది.
rsync -avz --progress ./site/ root@203.0.113.10:/var/www/example.com/
| ఫ్లాగ్ | ఏమి చేస్తుంది |
|---|---|
-a | పర్మిషన్లు, టైమ్స్టాంప్లు, లింక్లను భద్రపరుస్తుంది |
-v | ఫైల్ల జాబితాను ప్రింట్ చేస్తుంది |
-z | స్ట్రీమ్ను కంప్రెస్ చేస్తుంది |
--progress | ట్రాన్స్ఫర్ ప్రోగ్రెస్ చూపిస్తుంది |
--delete | మీ దగ్గర లేనివి మెషిన్లో ఉన్నవాటిని డిలీట్ చేస్తుంది |
--exclude | అనవసరమైనవి ఏవైనా స్కిప్ చేస్తుంది |
క్లీన్ డిప్లాయ్మెంట్కు ఒక ఉదాహరణ:
rsync -avz --delete \
--exclude '.git' --exclude 'node_modules' --exclude '.env' \
./site/ vds:/var/www/example.com/
మెషిన్ నుండి మీ వైపుకు ఒక కాపీని తీసుకురండి:
rsync -avz vds:/root/backup-2026-08-23.tar.gz ./backups/
సోర్స్ చివరన ఉన్న స్లాష్ అంటే “డైరెక్టరీలోని కంటెంట్”.
./site/ఫైల్లను టార్గెట్ లోపల పెడుతుంది,./siteటార్గెట్ లోపలsiteసబ్డైరెక్టరీని సృష్టిస్తుంది. సగం “మిస్ అయిన” డిప్లాయ్మెంట్లు దీని వల్లే జరుగుతాయి.
--delete తో జాగ్రత్త
--delete ఫ్లాగ్ మెషిన్లోని డైరెక్టరీని మీ దాని యొక్క ఖచ్చితమైన కాపీగా మారుస్తుంది: అదనంగా ఉన్నవి ఏవైనా అడగకుండా డిలీట్ అవుతాయి. మొదట డ్రై రన్ చేయండి:
rsync -avzn --delete ./site/ vds:/var/www/example.com/
-n ఫ్లాగ్ ఏమి జరుగుతుందో మాత్రమే చూపిస్తుంది. ఒకసారి నిర్ధారించుకున్న తర్వాత, n ను తీసేయండి.
వేగం
డిస్క్ వేగం ప్రతి టియర్కు పరిమితం: కోర్కు 60 MB/s రైట్లు (60 కంటే తక్కువ కాదు మరియు 400 కంటే ఎక్కువ కాదు), రీడ్లు దానికి రెట్టింపు, మరియు పరిమితికి మూడు రెట్ల బరస్ట్ 30 సెకన్లు నిలుస్తుంది. నెట్వర్క్ బ్యాండ్విడ్త్ 500 Mbit/s వరకు ఉంటుంది. VDS-1 లో, పెద్ద ఆర్కైవ్ను అప్లోడ్ చేస్తే రైట్ లిమిట్ను చేరుకుంటారు, అది ఆశించినదే, ఫెయిల్యూర్ కాదు. ఏమి జరుగుతుందో చెక్ చేయడానికి:
df -h
iostat -x 2
సాధారణ తప్పులు
| లక్షణం | కారణం |
|---|---|
Permission denied | మీ యూజర్ది కాని డైరెక్టరీలో మీరు రైట్ చేస్తున్నారు — root గా లాగిన్ అవ్వండి లేదా ఓనర్ను మార్చండి |
No such file or directory | మెషిన్లో డైరెక్టరీ లేదు మరియు scp దాన్ని సృష్టించదు: ముందుగా mkdir -p రన్ చేయండి |
| ఫైల్లు ఒక స్థాయి పైకి చేరాయి | పాత్లో స్లాష్ లేకపోవడం లేదా అదనంగా ఉండడం |
rsync: command not found | రెండు వైపులా ప్యాకేజీని ఇన్స్టాల్ చేయండి: apt install -y rsync |
| డిప్లాయ్మెంట్ తర్వాత సైట్ 403 ఇస్తుంది | ఓనర్ సెట్ కాలేదు: chown -R www-data:www-data /var/www/example.com |
మీరు గ్రాఫికల్ క్లయింట్ను ఇష్టపడితే, SFTP ద్వారా ఫైల్ల ట్రాన్స్ఫర్ చూడండి.