rSync یکی از محبوب ترین ابزار انتقال و همسان سازی فایل های راه دور و حتی لوکال در یونیکسه که علاوه بر راحتی امکانات بی نظیری هم داره
نصب rSync :
روی ubuntu و debian :
sudo apt-get install rsync
روی Centos 5.x به بالا :
yum install rsync
روی centos 4.x و پایینتر :
up2date rsync
از اونجا که rsync به تنهایی کد گزاری و الگوریتمی روی اطلاعات رد و بد شده انجام نمیده , واسه انتقال اطلاعات همیشه از ssh استفاده کنین .
دستورات عمومی rsync :
- –delete : حذف اتوماتیک فایل هایی که در مقصد موجود نیست .
- -v : مشاهده جزییات و مشخصات انتقال اطلاعات
- -a : انتفال در فرمت آرشیو
- -r : پیمایش در زیر شاخه ها (برای مثال کپی تمامی فایل ها و پوشه های داخل مسیر داده شده)
- -z : متراکم سازی داده ها هنگام انتقال
مثال یک : انتقال فایل از سرور فعلی به سرور راه دور
فایل /www/backup.tar.gz رو به سرور راه دور nixhut.ir انتقال میدهد :
rsync -v -e ssh /www/backup.tar.gz [email protected]:~
همونطور که میدونید کاراکتر ~ مشخص کننده دایرکتوری پیش فرض کاربر میباشده (مثلا اگر با نام کاربری root وارد شده باشید cd ~ شما را به /root انتقال میدهد)
مثال دو : انتقال فایل از سرور راه دور به سرور فعلی
فایل /www/backup.tar.gz رو از سرور راه دور nixhut.ir , به سرور فعلی در پوشه /home/kaveh انتقال میدهد :
/rsync -v -e ssh [email protected]:/www/backup.tar.gz /home/kaveh
مثال سه : همسان سازی دایرکتوری فعلی با دایرکتوری سرور راه دور
پوشه ی محلی /home/kaveh/src را با پوشه /root/src سرور راه دور nixhut.ir همسان و همچنین فایل هایی که در مقصد موجود نیست را از پوشه محلی حذف میکند :
rsync -r -a -v -e "ssh -l kaveh" --delete /home/kaveh/src nixhut.ir:/root/src
مثال چهار :همسان سازی دایرکتوری سرور راه دور با دایرکتوری محلی
rsync -r -a -v -e "ssh -l kaveh" --delete nixhut.ir:/root/src/ /home/kaveh/src/
مثال پنج : همسان سازی دو دایرکتور محلی و راه دور
rsync -r -a -v --delete /var/lib/mysql/data/ rsync://nixhut.ir/var/lib/mysql/data/