رفتن به نوشته‌ها

انتقال فایل در SSH به وسیله دستور rsync

rSync یکی از دستور های خوب و کاربردی در یونیکس است که برای انتقال فایل ها و همسان سازی پوشه ها مورد استفاده قرار میگیرد؛ البته این روش FTP نیست.

بعضي امکانات Rsync   عبارت اند از :

پشتيباني از حفظ اطلاعات فايل منتقل شده ، همانند مالک فايل ، گروه فايل ، مجوز هاي فايل و …
عدم نياز به مجوز کاربر ريشه
ترانسپرنت شدن با پروتکل هايي نظير ssh  ، rsh
قابليت استفاده بصورت anonymous  يا authenticated

شکل کلی دستور به صورت زیر است:

rsync -avzhe ssh root@<SENDER-IP>:<Recive-DIRECTORY-ADDRESS> <Source-Directory-address>

فرض کنید شما می خواهید از سرور فعلی به یک سرور دیگر فایلی را از طریق دستورات SSH ارسال نمایید.که البته باید  دسترسی معتبر به سرور مقصد را داشته باشید.

rsync -av --progress -e 'ssh -p22'  myfile.tar.gz admin@104.69.***.***:/home/

در دستور بالا؛ ما فایل myfile.tar.gz را به سرور 104.69.***.*** در پوشه home بانام کاربری admin فرستادیم.

دستور rsync تعدادی گزینه یا Option هم دارد که بهتر است در زمان استفاده از این دستور از آن‌ها استفاده شود:
a- حالت Archive
v- حالت Verbose
z- فشرده‌سازی در زمان انتقال (برای انتقال سریع‌تر)
progress– برای نمایش فهرست موارد ارسالی:/home/

همچنین برای مشخص کردن یک پورت خاص برای SSH سرور مقصد از

--rsh='ssh -p22'

استفاده می کنیم.

 

خطا یابی

اگر در هنگام ارسال فایل با خطایی مثل :

rsync: Connection unexpectedly closed (0 bytes recived so for ) [Sender]
rsync: Error: Rewrote command not found (code 127/ atioc 456) [Sender]

روبرو شدید؛ امکان دارد در سرور مقصد دسترسی مورد نظر برای انتقال فایل در آن پوشه را نداشته باشید؛ برای همین سعی کنید اکثر در یک پوشه فرعی قرار دهید؛ مثل :

/home/user

یا اینکه ممکن است آدرس پورت را اشتباه وارد کرده باشید.

یا ممکن است در سرور مقصد rSync نصب نباشد که باید طبق دستور زیر نصب کنید:

yum -y install rsync

 

منتشر شده در آموزشی

اولین باشید که نظر می دهید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *