فائلوں کو کاپی کرنے کے لیے rsync کا استعمال کیسے کریں۔

How Use Rsync Copy Files



Rsync لینکس کا ایک کمانڈ لائن ٹول ہے جسے سورس لوکیشن سے کسی منزل کے مقام پر فائلوں کی کاپی کرنے کے لیے استعمال کیا جاتا ہے۔ آپ فائلوں ، ڈائریکٹریوں اور پورے فائل سسٹم کو کاپی کر سکتے ہیں اور فائلوں کو مختلف ڈائریکٹریوں کے درمیان مطابقت پذیر بنا سکتے ہیں۔ یہ صرف فائلوں کو کاپی کرنے سے زیادہ کرتا ہے۔ یہ نیٹ ورک پر بھیجے گئے ڈیٹا کی مقدار کو صرف ان فائلوں کو بھیج کر کم کرتا ہے جو نئی یا اپ ڈیٹ ہوتی ہیں۔ یہی وجہ ہے کہ اسے فائل کاپی اور بیک اپ کے لیے ایک بڑی افادیت سمجھا جاتا ہے۔ Rsync SSH پر ریموٹ سسٹم میں فائلوں کی کاپی کرنے کی بھی حمایت کرتا ہے۔

اس آرٹیکل میں ، ہم وضاحت کریں گے کہ کچھ عملی مثالوں کے ساتھ فائلوں کو کاپی کرنے کے لیے rsync کا استعمال کیسے کریں۔ ہم ایک فائل ، ایک سے زیادہ فائلوں ، اور ڈائریکٹری کو مقامی اور ریموٹ دونوں نظاموں میں نقل کرنے میں rsync کے استعمال کی وضاحت بھی کریں گے۔ ہم اس کا احاطہ کریں گے کہ کس طرح Rsync استعمال کریں:







  • مقامی نظام میں فائل/ڈائرکٹری کاپی کریں۔
  • فائل/ڈائریکٹری کو مقامی سے ریموٹ سسٹم میں کاپی کریں۔
  • فائل/ڈائریکٹری کو ریموٹ سسٹم سے لوکل میں کاپی کریں۔

ہم نے اس مضمون میں اوبنٹو 20.04 LTS پر بیان کردہ احکامات اور طریقہ کار کی وضاحت کی ہے۔ rsync کا استعمال کرتے ہوئے فائلوں کو کاپی کرنے کے لیے آپ کو کمانڈ لائن ٹرمینل کی ضرورت ہوگی۔ کمانڈ لائن ٹرمینل ایپلیکیشن کھولنے کے لیے ، Ctrl+Alt+T کی بورڈ شارٹ کٹ استعمال کریں۔



Rsync انسٹال ہو رہا ہے۔

Rsync اوبنٹو 20.04 LTS میں پہلے سے نصب ہے۔ تاہم ، اگر اسے غلطی سے سسٹم سے ہٹا دیا گیا ہے ، تو آپ اسے انسٹال کر سکتے ہیں:



$سودومناسبانسٹال کریںrsync

یہاں کچھ عام طور پر استعمال ہونے والے اختیارات ہیں جو rsync کے ساتھ استعمال کیے جا سکتے ہیں۔





–a: آرکائیو موڈ۔
–v: کاپی کرنے کے عمل کی تفصیلات دکھاتا ہے۔
:p: پروگریس بار دکھاتا ہے۔
:r: ڈیٹا کو بار بار کاپی کرتا ہے۔
–z: ڈیٹا کو کمپریس کرتا ہے۔
–q: آؤٹ پٹ دبائیں۔

فائلوں اور ڈائریکٹریوں کو مقامی طور پر کاپی کریں۔

rsync کا عمومی نحو یہ ہے:



$rsync[اختیار] [ذریعہ] [منزل]

ایک فائل کو مقامی طور پر کاپی کریں۔

اگر آپ اپنے سسٹم میں فائل کو ایک جگہ سے دوسری جگہ کاپی کرنا چاہتے ہیں تو آپ ٹائپ کرکے ایسا کر سکتے ہیں۔ rsync اس کے بعد سورس فائل کا نام اور منزل ڈائرکٹری۔

مثال کے طور پر ، کسی ایک فائل file1.txt کو موجودہ مقام سے کاپی کرنے کے لیے جو کہ ہوم ڈائریکٹری ہے ~/Documents ڈائریکٹری میں ، کمانڈ یہ ہوگی:

$rsync/گھر/یقین/file1.txt/گھر/یقین/دستاویزات۔

نوٹ: /home/tin/file1.txt کے بجائے ، ہم file1 بھی ٹائپ کرسکتے ہیں کیونکہ ہم اس وقت ہوم ڈائریکٹری میں کام کر رہے ہیں۔ نیز ، ہم پورے راستے کو بطور/گھر/ٹن/دستاویزات بتانے کے ~/دستاویزات استعمال کرسکتے ہیں۔

متعدد فائلوں کو مقامی طور پر کاپی کریں۔

اگر آپ ایک سے زیادہ فائلوں کو ایک جگہ سے دوسرے مقام پر اپنے سسٹم میں کاپی کرنا چاہتے ہیں تو آپ ٹائپ کرکے ایسا کر سکتے ہیں۔ rsync اس کے بعد سورس فائلوں کا نام اور منزل مقصود ڈائریکٹری۔

مثال کے طور پر ، فائلوں کو file2.txt اور file3.txt کو ہوم ڈائریکٹری سے ~/Documents ڈائریکٹری میں کاپی کرنے کے لیے کمانڈ یہ ہوگا:

$rsync/گھر/یقین/file2.txt/گھر/یقین/file3.txt/گھر/یقین/دستاویزات۔

تمام فائلوں کو ایک ہی ایکسٹینشن کے ساتھ کاپی کرنے کے لیے ، آپ انفرادی طور پر فائل کے نام بتانے کے بجائے ستارے (*) کی علامت استعمال کرسکتے ہیں۔ مثال کے طور پر ، directory/Documents ڈائریکٹری میں .zip توسیع کے ساتھ ختم ہونے والی ہوم ڈائریکٹری سے تمام فائلوں کو کاپی کرنے کے لیے ، ہم استعمال کریں گے:

$rsync/گھر/یقین/ *.zip ~/دستاویزات۔

مقامی طور پر ڈائریکٹریز کاپی کریں۔

اگر آپ کسی ڈائریکٹری کو اس کی سب ڈائرکٹری اور تمام مشمولات کو اپنے سسٹم میں ایک جگہ سے دوسری جگہ کاپی کرنا چاہتے ہیں تو آپ ٹائپ کرکے ایسا کر سکتے ہیں rsync اس کے بعد ماخذ اور منزل ڈائریکٹری۔

مثال کے طور پر ، ہوم ڈائریکٹری کے اندر نمونہ ڈائریکٹری کو ٹیسٹ/ ڈائرکٹری میں کاپی کرنے کے لیے ، کمانڈ یہ ہوگی:

$rsync-کی /گھر/یقین/نمونہ/گھر/یقین/پرکھ

نوٹ: ماخذ ڈائریکٹری کی وضاحت / بعد میں صرف ڈائریکٹری کے مندرجات کو کاپی کیا جاتا ہے۔ اگر ہم ماخذ ڈائریکٹری کے بعد /کی وضاحت نہیں کرتے ہیں تو ، سورس ڈائریکٹری کو منزل ڈائریکٹری میں بھی کاپی کیا جائے گا۔

مندرجہ ذیل آؤٹ پٹ کی طرح ، آپ دیکھ سکتے ہیں کہ ہماری سورس ڈائریکٹری کا نمونہ بھی منزل ڈائریکٹری میں کاپی کیا گیا ہے (جیسا کہ ہم نے نمونہ کے بجائے نمونہ استعمال کیا ہے/ بطور سورس ڈائریکٹری)۔

Rsync بڑھتی ہوئی منتقلی کی حمایت کرتا ہے جیسا کہ آپ مندرجہ بالا آؤٹ پٹ میں دیکھ سکتے ہیں کہ یہ صرف ان فائلوں کو منتقل کرتا ہے جو نئی یا اپ ڈیٹ ہوتی ہیں۔

زیادہ سے زیادہ سائز کی بنیاد پر فائلیں کاپی کریں۔

کاپی کرتے وقت ، ہم فائلوں کے زیادہ سے زیادہ سائز کی بھی وضاحت کر سکتے ہیں جنہیں xmax-size آپشن سے کاپی کیا جا سکتا ہے۔ مثال کے طور پر ، 2000k سے بڑی فائلوں کو کاپی کرنے کے لیے ~/Downloads سے ~/Documents ڈائریکٹری میں ، کمانڈ یہ ہوگی:

$rsync-کو -زیادہ سے زیادہ سائز= 2000 ہزار/گھر/یقین/ڈاؤن لوڈ/ * /گھر/یقین/دستاویزات۔

یہ کمانڈ تمام فائلوں کو ~/ڈاؤن لوڈز سے ~/دستاویزات کی ڈائریکٹری میں کاپی کرے گی سوائے 2000k سے بڑی فائلوں کے۔

کم سے کم سائز کی بنیاد پر فائلیں کاپی کریں۔

اسی طرح ، ہم فائلوں کے کم سے کم سائز کی بھی وضاحت کر سکتے ہیں جنہیں –min-size آپشن سے کاپی کیا جا سکتا ہے۔ مثال کے طور پر ، فائلوں کو M/ڈاؤن لوڈ سے M/دستاویزات ڈائریکٹری میں 5M سے کم نہیں کاپی کرنے کے لیے ، کمانڈ یہ ہوگی:

$rsync-کو -چھوٹے سائز= 5 ملین/گھر/یقین/ڈاؤن لوڈ/ /گھر/یقین/دستاویزات۔

یہ کمانڈ تمام فائلوں کو ~/ڈاؤن لوڈ سے ~/دستاویزات کی ڈائریکٹری میں کاپی کرے گی سوائے 5M سے کم فائلوں کے۔

فائلیں خارج کریں۔

فائلوں کو ایک ڈائرکٹری سے دوسری ڈائرکٹری میں کاپی کرتے وقت ، آپ filesexclude آپشن کا استعمال کرتے ہوئے کچھ فائلوں کو خارج کر سکتے ہیں جس کے بعد فائل کا نام یا فائل کی قسم میں توسیع ہوتی ہے۔

مثال کے طور پر ، تمام .zip فائلوں کو خارج کرنے کے دوران فائلوں کو ~/Downloads سے ~/Documents ڈائریکٹری میں کاپی کرتے وقت ، کمانڈ یہ ہوگی:

$rsync-کو -خارج='*.zip' /گھر/یقین/ڈاؤن لوڈ/ /گھر/یقین/دستاویزات۔

فائلوں اور ڈائریکٹریوں کو دور سے کاپی کریں۔

Rsync کے ساتھ ، آپ کسی ایک فائل ، ایک سے زیادہ فائلوں اور ڈائریکٹریوں کو ریموٹ سسٹم میں کاپی کر سکتے ہیں۔ فائلوں اور ڈائریکٹریوں کو دور سے کاپی کرنے کے لیے ، آپ کی ضرورت ہوگی:

  • Rsync دونوں مقامی اور ریموٹ سسٹم پر انسٹال ہے۔
  • ریموٹ سسٹم تک SSH رسائی۔
  • ریموٹ یوزر پاس ورڈ۔

rsync کا استعمال کرتے ہوئے فائلوں کو کاپی کرنے سے پہلے ، یقینی بنائیں کہ آپ SSH کے ذریعے ریموٹ سسٹم تک رسائی حاصل کر سکتے ہیں۔

$sshریموٹ یوزر۔remote_ip


فائلوں اور ڈائریکٹریوں کو rsync کا استعمال کرتے ہوئے ریموٹ سسٹم میں کاپی کرنے کے لیے عمومی نحو:

$rsync[اختیار] [ذریعہ] [ریموٹ صارف۔remoteip: منزل۔]

مثال کے طور پر ، single/ڈاؤن لوڈ سے ریموٹ سسٹم ~/دستاویزات کی ڈائریکٹری میں ایک فائل file.txt کاپی کرنے کے لیے ، کمانڈ یہ ہوگی:

$rsync-v۔/ڈاؤن لوڈ/file1.txt عمارہ۔۔192.168.72.164:~۔/دستاویزات۔

اسی طرح local/ڈاؤنلوڈز/فائلوں کی ڈائریکٹری کو مقامی نظام میں اس کی ذیلی ڈائریکٹری اور تمام مشمولات کے ساتھ ریموٹ سسٹم پر ~/ڈاؤنلوڈز/سیمپل ڈائریکٹری میں کاپی کرنے کے لیے:

$rsync-rv۔/ڈاؤن لوڈ/فائلیں عمرہ۔192.168.72.164:~۔/ڈاؤن لوڈ/نمونے

آپ فائلوں اور ڈائریکٹریوں کو ریموٹ مشین سے اپنی مقامی مشین میں بھی کاپی کر سکتے ہیں۔ مثال کے طور پر ، ایک file2.txt کو ریموٹ سسٹم سے لوکل سسٹم ڈیسک ٹاپ پر کاپی کرنے کے لیے:

$rsync-vعمارہ۔192.168.72.164:~۔/ڈاؤن لوڈ/file2.txt/ڈیسک ٹاپ/

اسی طرح ریموٹ سسٹم سے لوکل سسٹم میں ڈائریکٹری کاپی کرنا۔

$rsync-rvعمارہ۔192.168.72.164:~۔/ڈاؤن لوڈ/نمونہ/ڈیسک ٹاپ/پرکھ

آپ ریموٹ سسٹم سے فائلوں کی کاپی کرتے ہوئے allmax-size ، –min-size ، xexclude اور دیگر جیسے تمام آپشنز بھی استعمال کر سکتے ہیں۔

Rsync فائلوں کو سورس سے منزل تک کاپی کرنے کا ایک بہترین ٹول ہے مقامی یا دور سے۔ اس میں اختیارات کا ایک بڑا مجموعہ شامل ہے جو آپ کو لچک اور کنٹرول دیتا ہے جبکہ فائلوں کو ریموٹ سسٹم سے/منتقل کرتے ہوئے۔