Linux ରେ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ କରିବା ପାଇଁ Rsync ର ବ୍ୟବହାର

Linux ରେ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ କରିବା ପାଇଁ Rsync ର ବ୍ୟବହାର

Rsync ବ୍ୟବହାର କରି ବିଭିନ୍ନ ସିଷ୍ଟମ୍ ମଧ୍ୟରେ ଦକ୍ଷତାର ସହିତ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ ଏବଂ ସିଙ୍କ୍ରୋନାଇଜ୍ କରିବା ପାଇଁ ଏକ ଗାଇଡ୍।

Rsync ହେଉଛି ସିଷ୍ଟମ୍‌ଗୁଡ଼ିକ ମଧ୍ୟରେ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ ଏବଂ ସିଙ୍କ୍ରୋନାଇଜ୍ କରିବା ପାଇଁ ଏକ ଶକ୍ତିଶାଳୀ ଟୁଲ୍। ଏହା ବ୍ୟାକଅପ୍, ଫାଇଲ୍ ମିରରିଂ, ଏବଂ ଲୋକାଲ୍ ଡିରେକ୍ଟୋରୀ କିମ୍ବା ରିମୋଟ୍ ସର୍ଭର ମଧ୍ୟରେ ଫାଇଲ୍ ଅପଡେଟ୍ କରିବା ପାଇଁ ବହୁଳ ଭାବରେ ବ୍ୟବହୃତ ହୁଏ। ଆପଣ ବ୍ୟାକଅପ୍ ପରିଚାଳନା କରୁଥାନ୍ତୁ କିମ୍ବା ମେସିନ୍‌ଗୁଡ଼ିକ ମଧ୍ୟରେ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ କରୁଥାନ୍ତୁ, Linux ସିଷ୍ଟମ୍ ସହିତ କାମ କରୁଥିବା ଯେକୌଣସି ବ୍ୟକ୍ତିଙ୍କ ପାଇଁ Rsync କିପରି ବ୍ୟବହାର କରାଯାଏ ତାହା ବୁଝିବା ଅତ୍ୟନ୍ତ ଜରୁରୀ।

Rsync କ’ଣ?

Rsync ହେଉଛି ଏକ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ ଟୁଲ୍, ଯାହା ସୋର୍ସ ଏବଂ ଡେଷ୍ଟିନେସନ୍ ଫାଇଲ୍ ମଧ୍ୟରେ କେବଳ ପାର୍ଥକ୍ୟଗୁଡ଼ିକୁ ଟ୍ରାନ୍ସଫର୍ କରି ଦକ୍ଷତାର ସହିତ ଫାଇଲ୍ କପି କରିଥାଏ। ଏହି ଫିଚର୍ ଡାଟା ଟ୍ରାନ୍ସଫର୍ ହ୍ରାସ କରେ ଏବଂ ପ୍ରକ୍ରିୟାକୁ ତ୍ୱରାନ୍ୱିତ କରେ, ଯାହା ଏହାକୁ ସିଷ୍ଟମ୍ ଆଡମିନିଷ୍ଟ୍ରେଟର୍ ଏବଂ ଡେଭଲପର୍‌ମାନଙ୍କ ମଧ୍ୟରେ ଏକ ଲୋକପ୍ରିୟ ପସନ୍ଦ କରିଥାଏ।

Rsync ଇନଷ୍ଟଲ୍ କରିବା

ଅଧିକାଂଶ Linux ଡିଷ୍ଟ୍ରିବ୍ୟୁସନ୍‌ର ଅଫିସିଆଲ୍ ରିପୋଜିଟୋରୀରେ Rsync ଉପଲବ୍ଧ ଏବଂ ପ୍ରାୟତଃ ପୂର୍ବରୁ ଇନଷ୍ଟଲ୍ ହୋଇଥାଏ। ବିଭିନ୍ନ ସିଷ୍ଟମ୍‌ରେ ଏହାକୁ କିପରି ଇନଷ୍ଟଲ୍ କରିବେ ତାହା ଏଠାରେ ଦିଆଗଲା:

ପଦକ୍ଷେପ ୧: Ubuntu ଏବଂ Debian ରେ Rsync ଇନଷ୍ଟଲ୍ କରନ୍ତୁ

sudo apt install rsync

ପଦକ୍ଷେପ ୨: FreeBSD ରେ Rsync ଇନଷ୍ଟଲ୍ କରନ୍ତୁ

sudo pkg install rsync

ପଦକ୍ଷେପ ୩: Arch Linux ରେ Rsync ଇନଷ୍ଟଲ୍ କରନ୍ତୁ

sudo pacman -S rsync

ପଦକ୍ଷେପ ୪: Fedora, AlmaLinux, Rocky Linux, ଏବଂ VzLinux ରେ Rsync ଇନଷ୍ଟଲ୍ କରନ୍ତୁ

sudo dnf install rsync

ପଦକ୍ଷେପ ୫: CentOS ରେ Rsync ଇନଷ୍ଟଲ୍ କରନ୍ତୁ

sudo yum install rsync

Rsync କମାଣ୍ଡ ସିଣ୍ଟାକ୍ସ

Rsync ବ୍ୟବହାର କରିବାର ମୌଳିକ ସିଣ୍ଟାକ୍ସ ହେଉଛି:

rsync [OPTIONS] SOURCE DESTINATION

ଯେଉଁଠାରେ:

  • OPTIONS: ଫ୍ଲାଗ୍‌ଗୁଡ଼ିକ ଯାହା Rsync କିପରି କାମ କରେ ତାହା ପରିବର୍ତ୍ତନ କରେ (ଯେପରିକି -a ଆର୍କାଇଭ୍ ମୋଡ୍ ପାଇଁ)।
  • SOURCE: ଆପଣ ସିଙ୍କ୍ରୋନାଇଜ୍ କରିବାକୁ ଚାହୁଁଥିବା ଫାଇଲ୍ କିମ୍ବା ଡିରେକ୍ଟୋରୀ।
  • DESTINATION: ଯେଉଁଠାକୁ ଆପଣ ସୋର୍ସ କପି କରିବାକୁ ଚାହାଁନ୍ତି।

SSH ମାଧ୍ୟମରେ ରିମୋଟ୍ ଟ୍ରାନ୍ସଫର୍ ପାଇଁ, ଏହି ସିଣ୍ଟାକ୍ସ ବ୍ୟବହାର କରନ୍ତୁ:

rsync [OPTIONS] [USER@]HOST:SOURCE DESTINATION

ବଦଳାନ୍ତୁ [USER@]HOST କୁ ରିମୋଟ୍ ୟୁଜର୍‌ଙ୍କ କ୍ରେଡେନସିଆଲ୍ ଏବଂ ହୋଷ୍ଟ ଠିକଣା ସହିତ।

ସାଧାରଣତଃ ବ୍ୟବହୃତ Rsync ଅପ୍ସନ୍‌ଗୁଡ଼ିକ

ଏଠାରେ ସାଧାରଣତଃ ବ୍ୟବହୃତ କିଛି ଅପ୍ସନ୍ ଦିଆଗଲା:

  • -a, --archive: ଆର୍କାଇଭ୍ ମୋଡ୍ ସକ୍ଷମ କରେ, ଫାଇଲ୍ ଆଟ୍ରିବ୍ୟୁଟ୍‌ଗୁଡ଼ିକୁ ସଂରକ୍ଷିତ ରଖେ।
  • -v, --verbose: ଟ୍ରାନ୍ସଫର୍ ସମୟରେ ବିସ୍ତୃତ ସୂଚନା ପ୍ରଦାନ କରେ।
  • -z, --compress: ବ୍ୟାଣ୍ଡୱିଡ୍‌ଥ୍ ବଞ୍ଚାଇବା ପାଇଁ ଟ୍ରାନ୍ସଫର୍ ସମୟରେ ଡାଟା କମ୍ପ୍ରେସ୍ କରେ।
  • --exclude=PATTERN: ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ପ୍ୟାଟର୍ନ ସହିତ ମେଳ ଖାଉଥିବା ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ବାଦ୍ ଦିଏ।
  • --delete: ସୋର୍ସରେ ନଥିବା ଡେଷ୍ଟିନେସନ୍‌ର ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ଡିଲିଟ୍ କରେ।

Rsync ବ୍ୟବହାର କରି ଫାଇଲ୍ ଏବଂ ଡିରେକ୍ଟୋରୀ ଟ୍ରାନ୍ସଫର୍ କରିବା

ଆରମ୍ଭ କରିବା ପାଇଁ, ଆପଣ ଏକ ଟେଷ୍ଟ ଏନଭାଇରନମେଣ୍ଟ ସେଟଅପ୍ କରିପାରିବେ:

ପଦକ୍ଷେପ ୧: ଏକ ଟେଷ୍ଟ ଡିରେକ୍ଟୋରୀ ତିଆରି କରନ୍ତୁ

mkdir rsync-test

ପଦକ୍ଷେପ ୨: ଡିରେକ୍ଟୋରୀ ମଧ୍ୟକୁ ନାଭିଗେଟ୍ କରନ୍ତୁ

cd rsync-test

ପଦକ୍ଷେପ ୩: ସାମ୍ପଲ୍ ଫାଇଲ୍ ତିଆରି କରନ୍ତୁ

touch file1 file2 file3

ଲୋକାଲ୍ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ କରନ୍ତୁ

ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ଏକ ନୂତନ ଡିରେକ୍ଟୋରୀ ଯାହାର ନାମ dest, ସେଥିରେ କପି କରିବା ପାଇଁ ବ୍ୟବହାର କରନ୍ତୁ:

rsync file1 file2 file3 dest

ଫାଇଲ୍‌ଗୁଡ଼ିକ କପି ହୋଇଛି କି ନାହିଁ ଯାଞ୍ଚ କରନ୍ତୁ:

ls dest/

ଲୋକାଲ୍ ଡିରେକ୍ଟୋରୀ ଟ୍ରାନ୍ସଫର୍ କରନ୍ତୁ

ଏକ ଡିରେକ୍ଟୋରୀ ଏବଂ ଏହାର ବିଷୟବସ୍ତୁ କପି କରିବା ପାଇଁ, -a ଫ୍ଲାଗ୍ ବ୍ୟବହାର କରନ୍ତୁ:

rsync -a dest/ dest-copy

କପି ଅପରେସନ୍ ଯାଞ୍ଚ କରନ୍ତୁ:

ls dest-copy/

ଫାଇଲ୍ କିମ୍ବା ଡିରେକ୍ଟୋରୀଗୁଡ଼ିକୁ ବାଦ୍ ଦିଅନ୍ତୁ

କପି ହେବାରୁ ନିର୍ଦ୍ଦିଷ୍ଟ ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ବାଦ୍ ଦେବା ପାଇଁ, --exclude ଫ୍ଲାଗ୍ ବ୍ୟବହାର କରନ୍ତୁ:

rsync -a --exclude 'file2' --exclude 'dest*' . output

ଆଉଟପୁଟ୍ ଯାଞ୍ଚ କରନ୍ତୁ:

ls output/

ଏକ ରିମୋଟ୍ ମେସିନ୍‌କୁ ଡାଟା ସିଙ୍କ୍ରୋନାଇଜ୍ କରିବା

ଏକ ରିମୋଟ୍ ମେସିନ୍‌କୁ ଫାଇଲ୍ ସିଙ୍କ୍ରୋନାଇଜ୍ କରିବା ପାଇଁ, ବ୍ୟବହାର କରନ୍ତୁ:

rsync -hazvP --delete --stats . [email protected]:synced_from_local

ଏହି କମାଣ୍ଡ ନିମ୍ନଲିଖିତ କାର୍ଯ୍ୟ କରେ:

  • -h: ସଂଖ୍ୟାଗୁଡ଼ିକୁ human-readable ଫର୍ମାଟ୍‌ରେ ଆଉଟପୁଟ୍ କରେ।
  • -a: ଆର୍କାଇଭ୍ ମୋଡ୍ ସକ୍ଷମ କରେ।
  • -z: ଟ୍ରାନ୍ସଫର୍ ସମୟରେ ଡାଟା କମ୍ପ୍ରେସ୍ କରେ।
  • -v: verbose ଆଉଟପୁଟ୍ ସକ୍ଷମ କରେ।
  • --delete: ସୋର୍ସରେ ଆଉ ନଥିବା ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ଡେଷ୍ଟିନେସନ୍‌ରୁ ହଟାଇ ଦିଏ।
  • --stats: ଟ୍ରାନ୍ସଫର୍‌ର ଏକ ସାରାଂଶ ପ୍ରଦାନ କରେ।

SSH ବ୍ୟବହାର କରି ରିମୋଟ୍ ମେସିନ୍‌ରେ ଲଗ୍ ଇନ୍ କରନ୍ତୁ:

ssh [email protected]

ଉପସଂହାର

Rsync ହେଉଛି ଏକ ବହୁମୁଖୀ ଟୁଲ୍ ଯାହା ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ ଏବଂ ସିଙ୍କ୍ରୋନାଇଜେସନ୍‌କୁ ସରଳ କରିଥାଏ। ଆପଣ ଫାଇଲ୍ ବ୍ୟାକଅପ୍ କରୁଥାନ୍ତୁ କିମ୍ବା ସିଷ୍ଟମ୍‌ଗୁଡ଼ିକ ମଧ୍ୟରେ ଡାଟା ଟ୍ରାନ୍ସଫର୍ କରୁଥାନ୍ତୁ, Rsync ର ଦକ୍ଷତା ଏବଂ ନମନୀୟତା ଏହାକୁ ଏକ ଅମୂଲ୍ୟ ସମ୍ବଳ କରିଥାଏ।

ଉପକାରିତା

  • କେବଳ ପାର୍ଥକ୍ୟ ପଠାଇ ଦକ୍ଷତାର ସହିତ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ କରିଥାଏ।
  • ଫାଇଲ୍ ଆଟ୍ରିବ୍ୟୁଟ୍ ଏବଂ ମେଟାଡାଟା ସଂରକ୍ଷିତ ରଖେ।
  • ବ୍ୟାଣ୍ଡୱିଡ୍‌ଥ୍ ବଞ୍ଚାଇବା ପାଇଁ କମ୍ପ୍ରେସନ୍ ସମର୍ଥନ କରେ।
  • ଫାଇଲ୍ ଅନ୍ତର୍ଭୁକ୍ତ/ବାଦ୍ ଦେବା ପାଇଁ ନମନୀୟ ବିକଳ୍ପ।

ଅପକାରିତା

  • ଅନେକ ଅପ୍ସନ୍ ଥିବାରୁ ପ୍ରାରମ୍ଭିକ ବ୍ୟବହାରକାରୀଙ୍କ ପାଇଁ ଏହା ଜଟିଳ ହୋଇପାରେ।
  • ରିମୋଟ୍ ଟ୍ରାନ୍ସଫର୍ ପାଇଁ SSH ଆକ୍ସେସ୍ ଆବଶ୍ୟକ।
  • delete ଅପ୍ସନ୍ ସହିତ ଭୁଲ୍ ଭାବରେ ବ୍ୟବହାର କଲେ ଡାଟା ନଷ୍ଟ ହେବାର ଆଶଙ୍କା ଥାଏ।

ସତର୍କତା

ଏହି ଆର୍ଟିକିଲ୍ କେବଳ ଶିକ୍ଷଣୀୟ ଉଦ୍ଦେଶ୍ୟରେ ଉଦ୍ଦିଷ୍ଟ। କମାଣ୍ଡ ବ୍ୟବହାର କରିବା ସମୟରେ ସର୍ବଦା ପ୍ଲେସହୋଲ୍ଡର୍ ଭାଲ୍ୟୁଗୁଡ଼ିକୁ ପ୍ରକୃତ ଡାଟା ସହିତ ବଦଳାନ୍ତୁ। କୌଣସି ଦାବି ଉପରେ ନିର୍ଭର କରିବା ପୂର୍ବରୁ ମୂଳ ଉତ୍ସ ସହିତ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ।

ବାରମ୍ବାର ପଚରାଯାଉଥିବା ପ୍ରଶ୍ନଗୁଡ଼ିକ

  • Rsync କ’ଣ? — Rsync ହେଉଛି ଏକ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ ଟୁଲ୍ ଯାହା ଲୋକାଲ୍ ଏବଂ ରିମୋଟ୍ ସିଷ୍ଟମ୍ ମଧ୍ୟରେ ଦକ୍ଷତାର ସହିତ ଫାଇଲ୍ ସିଙ୍କ୍ରୋନାଇଜ୍ କରେ।
  • ମୁଁ Linux ରେ Rsync କିପରି ଇନଷ୍ଟଲ୍ କରିବି? — ଆପଣଙ୍କ ଡିଷ୍ଟ୍ରିବ୍ୟୁସନ୍ ପାଇଁ ଉଦ୍ଦିଷ୍ଟ ପ୍ୟାକେଜ୍ ମ୍ୟାନେଜର୍ ବ୍ୟବହାର କରନ୍ତୁ, ଯେପରିକି apt, dnf, କିମ୍ବା pacman.
  • Rsync ରେ -a ଅପ୍ସନ୍ କ’ଣ କରେ? — ଏହି -a ଅପ୍ସନ୍ ଆର୍କାଇଭ୍ ମୋଡ୍ ସକ୍ଷମ କରେ, ଯାହା ଟ୍ରାନ୍ସଫର୍ ସମୟରେ ଫାଇଲ୍ ଆଟ୍ରିବ୍ୟୁଟ୍‌ଗୁଡ଼ିକୁ ସଂରକ୍ଷିତ ରଖେ।
  • Rsync କୁ ରିମୋଟ୍ ଟ୍ରାନ୍ସଫର୍ ପାଇଁ ବ୍ୟବହାର କରାଯାଇପାରିବ କି? — ହଁ, Rsync SSH ବ୍ୟବହାର କରି ରିମୋଟ୍ ସିଷ୍ଟମ୍‌କୁ ଏବଂ ସେଥିରୁ ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍ କରିପାରିବ।
  • ଏହି --exclude ଅପ୍ସନ୍ କ’ଣ କରେ? — ଏହି --exclude ଅପ୍ସନ୍ ଆପଣଙ୍କୁ ଟ୍ରାନ୍ସଫର୍ ସମୟରେ ବାଦ୍ ଦେବାକୁ ଥିବା ଫାଇଲ୍ କିମ୍ବା ଡିରେକ୍ଟୋରୀଗୁଡ଼ିକୁ ନିର୍ଦ୍ଦିଷ୍ଟ କରିବାକୁ ଅନୁମତି ଦିଏ।
  • Rsync ବ୍ୟବହାର କରିବା ନିରାପଦ କି? — ହଁ, କିନ୍ତୁ ଏହିଭଳି ଅପ୍ସନ୍ ପ୍ରତି ସତର୍କ ରୁହନ୍ତୁ ଯେପରିକି --delete, ଯାହା ଡେଷ୍ଟିନେସନ୍‌ରୁ ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ହଟାଇ ଦେଇପାରେ।
Free field guide

Docker Security Checklist

Lock down your containers from build to runtime — 29 practical controls covering images, runtime flags, secrets, and the daemon. Enter your email — you'll get the PDF instantly, plus new posts on Docker, Linux & security.