برای انتقال فایلها در SSH میتوان از دستور rsync استفاده کرد.
rsync [options] source destination
مثال: انتقال چندین فایل:
rsync myfile.txtroot@192.168.1.10:/root
بهجای root میتوانید از نام کاربری خودتان هم استفاده کنید.
دستور rsync تعدادی گزینه یا Option هم دارد که بهتر است در زمان استفاده از این دستور از آنها استفاده شود:
a- حالت Archive
v- حالت Verbose
z- فشردهسازی در زمان انتقال (برای انتقال سریعتر)
progress-- برای نمایش فهرست موارد ارسالی
مثال:
rsync -azv --progress *.tar.gzroot@192.168.1.10:/home
در صورتی که فرمان rsync قطع شد، میتوانید از گزینه a- استفاده کنید. استفاده از این گزینه، مانع از Overwrite شدن فایلها میشود و فقط فایلهایی که در مقصد وجود ندارند، منتقل میشوند.
دستور rsync در حالت پیشفرض با پورت 22 پروتوکل SSH کار میکند. در صورتی که سرور مقصد از پورت 22 استفاده نمیکرد، میتوانید از گزینه زیر استفاده کنید:
--rsh='ssh -p22'
بهجای 22 شماره پورت دلخواه خود را بگذارید.
اگر در زمان اجرای این دستور، خطای زیر را دریافت کردید بهاین علت است که بسته rsync در سرور مقصد، نصب نشده است.
rsync: Connection unexpectedly closed (0 bytes recived so for ) [Sender]
rsync: Error: Rewrote command not found (code 127/ atioc 456) [Sender]
برای نصب این بسته نرمافزاری، کافی است دستورات زیر را وارد کنید:
در سرورهای مبتنی بر Debian:
apt-get install rsync
در سرورهای مبتنی بر Red Hat:
yum -y install rsync