Skip to content
VDS · مشین تک رسائی

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 کے ذریعے فائل ٹرانسفر دیکھیں۔