نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: آموزش کاربردی Rsync

  1. #1
    کاربر اخراج شده
    تاریخ عضویت
    Feb 2009
    محل سکونت
    Tehran
    نوشته ها
    103
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    139
    تشکر شده در
    85 پست

    پیش فرض آموزش کاربردی Rsync

    ک برنامه ساده و کوچک، همانند يک برنامه انتقال فايل مي باشد، آخرين نسخه اي که در زمان نوشتن اين مقاله وجود دارد نسخه 3.0.4 مي باشد که مي توانيد از سايت رسمي آن با آدرس rsync دريافت کنيد.
    با اين برنامه حتی مي توان فقط تغييراتي که بر روي يک فايل انجام شده را انتقال داد ، در نظر بگيريد که شما سروري داريد که مدام مجبوريد اطلاعات آن را با سرور ديگر بروز رساني کنيد، براي اين کار لازم نيست هر بار اطلاعات مورد نظر را تماما انتقال دهيد ، با کمک Rsync مي توان فقط فايل هايي را که در کامپيوتر مبدا و يا مقصد تغيير کرده اند، انتقال داد. اين کار فوايد بسياري از جمله ، آپلود سريع تر و کم تر شدن ترافيک شبکه و صرفه جويي در پهناي باند مصرفي را بدنبال خواهد داشت.

    در واقع Rsync يک برنامه چند منظوره است که کارهاي Backup & Mirroring را براي شما انجام خواهد داد.

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

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


    براي شروع ابتدا مطمئن شويد که برنامه مورد نظر در سيستم شما نصب ميباشد من از CentOS 5.2 استفاده مي کنم کليه دستوران نوشته شده در اين مقاله هم بر اساس همين توزيع مي باشد.

    براي اين کار مي توانيد دستور rsync را اجرا کنيد و يا خروجي دستور زير را ببينيد :
    کد PHP:
    #rpm -q rysnc 
    و خروجي بمانند زير خواهد بود :
    کد PHP:
    root@centos-test ~]# rpm -q rsync
    rsync-3.0.4-1.el5.rf
    [root@centos-test ~]
    در صورتي که برنامه در سيستم شما نصب نبود از دستور زير استفاده کنيد :
    کد PHP:
    #yum install rsync 
    در ديگر توزيع ها همانند fedora , redhat , debian هماند بالا ميباشد با اين تفاوت که در debian مي بايست از apt-get استفاده نماييد .
    براي راه اندازي شما بايد Rsync را بصورت Daemon راه اندازي کنيد اين کار با استفاده از دستور rsync –daemon در کنسول انجام خواهد شد، فايل پيکربندي آن بصورت پيشفرض در آدرس etc/rsyncd.conf/ قرار دارد و با کمک Vi مي توانيد آن را ويرايش کنيد. تمام دستگاهايي که برنامه Rsync را اجرا کنند مي توانند با دستگاهي که در آن Rsync Daemon راه اندازي شده است همزمان شودند.
    براي اين کار شما بايد يک دستگاه را که قرار است نقش سرور را بازي کند بصورت Daemon راه اندازي کنيد همچنين کلاينت ها نيز مي توانند براي بر قراري يک ارتباط دو طرفه در حالت daemon راه اندازي شوند.
    در زير بعضي از فايل هاي پيکربندي Rsync را مشاهده مي کنيد
    کد PHP:
    motd file = /etc/rsyncd.motd
    log file 
    = /var/log/rsyncd.log
    pid file 
    = /var/run/rsyncd.pid
    lock file 
    = /var/run/rsync.lock

    [simple_path_name]
    path = /rsync_files_here
    comment 
    My Very Own Rsync Server
    uid 
    nobody
    gid 
    nobody
    read only 
    no
    list = yes
    auth users 
    username
    secrets file 
    = /etc/rsyncd.scrt 
    * هر گاه شما بخواهيد پيامي را به کاربران خود نمايش بدهيد مي توانيد از فايل etc/rsyncd.motd/ استفاده کنيد.
    * فايل بعدي فايلي است که لاگ هاي مربوط به Rsync در آن ريخته خواهد شد.
    * دو فايل بعدي براي شماره پردازش Rsync و قفل کردن آن مي باشد.
    * در فايل پيکربندي گزينه Path مسيري را که فايل ها به/ از آن همزمان خواهند شد را نشان مي دهد,
    * Comment مختصري توضيح راجع به مسير داده شده خواهد بود،
    * Uid &Gid نام کاربري و گروهي که Rsync با ان اجرا خواهد شد را نشان مي دهد،
    * اگر شما بخواهيد دسترسي را به يوزري که از قبل تعريف شده محدود کنيد مي توانيد Auth Users را براي آن مشخص کنيد که اين کار با فايلSecret که بصورتplaintext نوشته مي شود و با فرمت Key/value که نشان دهنده نام کاربري و رمز عبور است، انجام مي شود.

    rsync remote-update يک پروتکل براي Rsync مي باشد که تنها تغييرات صورت گرفته را بين دو ماشين منتقل مي کند.
    دو راه براي اتصال rsync براي انتقال فايل وجود دارد ، يک راه استفاده از برنامه هاي remote-shell مانند ssh بعنوان انتقال است و راه ديگر اتصال به daemon برنامه Rsync توسط پروتکل tcp مي باشد.
    انتقال با remote-shell هر زماني که مسير هاي منبع و مقصد محتوي تنها يک کالن ( : ) بعد از مشخص کردن ميزبان باشند استفاده ميشود ، اتصال به daemon برنامه Rsync تنها زماني که مسير هاي منبع و مقصد محتوي دو کالن ( :: ) بعد از مشخص کردن ميزبان باشند و يا بکار بردن عبارت //:rsync استفاده ميشود


    استفاده از Rsync :

    شما مي توانيد با مشخص کردن مبدا و مقصد به راحتي از اين برنامه استفاده کنيد براي مثال :
    کد PHP:
    rsync -*.c foo:src
    شايد اين کلي ترين دستور براي rsync باشد ، در اين دستور تمامي پترن هاي شامل c.* به سيستمي با نام foo ، و به دايرکتري src انتقال پيدا مي کند , اگر فايلي با نام مشابه در دايرکتري مقصد وجود داشته باشد ، rsync remote-update protocol براي بروز رساني آن فايل ها تنها با فرستادن تغييرات شروع به کار مي کند
    کد PHP:
    rsync -avz foo:src/bar /data/tmp 
    اين دستور بصورت recursive تمامي فايل هاي دايرکتري src/bar را در ماشين foo به دايرکتري data/tmp در ماشين فعلي کپي مي کند. فايل ها در حالت آرشيو منتقل مي شوند که اين کار باعث مي شود تمامي مجوز ها و اطلاعات فايل در حين انتقال حفظ شود.
    همچنين فشرده سازي باعث کاهش حجم فايل در حين انتقال خواهد شد.


    در آخر هم سعي مي کنيم يک مثال پيچيده را با هم بررسي کنيم
    کد PHP:
    rsync --verbose --progress --stats --compress --rsh=/usr/local/bin/ssh --recursive --times --perms --links --delete /www/* webserver:simple_path_name 
    خوب اين دستور rsync را با گزينه هاي verbose , progress , stats راه اندازي مي کند
    گزينه Compress براي فشرده سازي اطلاعات و گزينه rsh براي انتقال اصلاعات بصورت امن از طريق ssh خواهد بود، خط بعد مشخص مي کند که Rsync چطور با فايل هاي رفتار کند:
    Recursive به آن مي گويد که فايل ها و دايرکتري ها را بصورت recursive انتقال دهد و اطلاعات زمان و مجوز ها را با دو عبارت times و perms انتقال دهد همچنين عبارت links نشان دهنده کپي کردن symbolic ها و عبارت Delete نشان دهنده پاک کردن دايرکتري و فايل ها در دايرکتري مقصد که در سيستم فعلي حذف شده اند مي باشد */www/ فايل هايي از سيستم من که قرار است توسط Rsync انتقال داده شوند را نشان مي دهد و webserver:simple_path_name آدرس کامپيوتر مقصد خواهد بود.
    با اجراي دستور فوق تمامي فايل هاي شاخه www من به کامپيوتر webserver با حفظ تمامي مجوز ها و اطلاعات ، انتقال پيدا خواهد کرد.
    ویرایش توسط Soheil Extreme : February 8th, 2009 در ساعت 16:33

  2. تعداد تشکر ها ازSoheil Extreme به دلیل پست مفید


  3. # ADS




     

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. انتقال اطلاعات از طریق rsync
    توسط Javan Host در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: June 3rd, 2014, 14:47
  2. آموزش انتقال اطلاعات از طریق rsync
    توسط reza21biologist در انجمن مباحث و منابع آموزشی
    پاسخ ها: 0
    آخرين نوشته: December 5th, 2013, 10:52
  3. انتقال اطلاعات از طریق rsync
    توسط beniii در انجمن سرور مجازی
    پاسخ ها: 0
    آخرين نوشته: November 22nd, 2013, 13:04
  4. آموزش کاربردی Rsync
    توسط supportvps در انجمن مباحث و منابع آموزشی
    پاسخ ها: 1
    آخرين نوشته: August 14th, 2012, 14:24
  5. آموزش کاربردی Rsync
    توسط ourweb در انجمن سایر لینوکس ها
    پاسخ ها: 0
    آخرين نوشته: April 11th, 2012, 16:08

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •