کانال تلگرام منطقه لینوکسی ها
نمایش نتایج: از 1 به 1 از 1

موضوع: نحوه انتقال فایل ها بین دو سرور لینوکسی با استفاده از دستورات nc و pv

  1. #1
    مدیر ارشد
    تاریخ عضویت
    Jan 2013
    محل سکونت
    Tehran
    نوشته ها
    1,320
    تشکر ها
    299
    46
    میزان امتیاز
    6
    Array

    نحوه انتقال فایل ها بین دو سرور لینوکسی با استفاده از دستورات nc و pv

    این مقاله به شما نحوه انتقال فایل ها بین دو سیستم لینوکسی با استفاده از دستورات nc (ابزار شبکه) و pv (مخفف Pipe Viewer) را شرح خواهیم داد. قبل از اینکه به اصل موضوع بپردازیم اجازه دهید درباره اینکه این دو دستور چه هستند توضیحاتی بدهیم.

    nc مخفف netcat بوده و اغلب بعنوان "چاقوی ارتش سوییس" به آن اشاره می شود و یکی از ابزارهای شبکه است که برای دیباگ و بررسی شبکه و همچنین برای ایجاد ارتباطات شبکه ای با استفاده از TCP یا UDP، اسکن پورت، انتقال فایل و امور بیشمار دیگر مورد استفاده قرار میگیرد. این ابزار ایجاد شده تا یک back-end غیر مستقل باشد و بخصوص در برنامه ها و اسکریپت ها مورد استفاده قرار گیرد، از آنجایی که این ابزار میتواند اغلب هر نوعی از ارتباطات شبکه ای را ایجاد کند و شامل تعدادی قابلیت ها ی ساختاری میباشد.

    pv که مخفف Pipe viewer است در حقیقت یک ابزار بر پایه ترمینال بوده و برای مانیتور کردن عملیات ارسال data از طریق یک pipeline مورد استفاده قرار میگیرد. این ابزار برای کاربر امکان دیدن عملیات مربوط به دیتا به همراه progress bar (نوار مربوط به پیشروی عملیات انتقال)، مدت زمان سپری شده، درصد انتقال در لحظه، میزان throughput جاری، دیتای کل انتقال یافته و میزان زمان تخمین زده برای تکمیل عملیات را فراهم میآورد.

    همچنین توصیه میشود مطالعه کنید :
    نحوه مانیتور کردن عملیات Data با استفاده از دستور PV (مخفف Pipe Viewer)
    دستور پیشرفته Copy در لینوکس - نمایش Progress Bar در هنگام کپی فایل ها و فولدرهای بزرگ در لینوکس
    pscp - انتقال/کپی فایل ها به چندین سرور لینوکس با استفاده از تنها یک شل
    10 نمونه از دستورات sFTP برای انتقال فایل ها روی سرورهای لینوکس راه دور
    10 نمونه از دستور scp برای انتقال فایل ها و فولدرها در لینوکس
    10 مثال از دستور Rsync در لینوکس
    نحوه انتقال فایل ها بین دو کامپیوتر با استفاده از دستورات nc و pv

    اکنون نحوه ترکیب دو دستور برای انتقال فایل ها بین دو کامپیوتر لینوکسی را با هم مشاهده میکنیم. برای این منظور در این مقاله ما از دو ماشین لینوکسی با ip آدرس های زیر استفاده میکنیم.
    کد PHP:
    Machine A with IP 192.168.25.4
    Machine B with IP 
    192.168.25.76 

    نکته : من شدیدا توصیه میکنم که برای ارسال و دریافت Data از بستر شبکه public از netcat استفاده نکنید با توجه به اینکه این دستور از هیچ گونه لاگین یا اهراز هویتی استفاده نمیکند تنها تجهیزات مورد نیازش ip کلاینت و شماره پورت مورد نظر میباشد و دیتا به شکل غیر امن از بستر شبکه منتقل میشود. بنابراین برای کاربران پیشرفته لینوکسی توصیه میشود و ترجیح داده میشود که روی شبکه محافظت شده لوکال استفاده شود.

    در شرایطی که امنیت دیتا بسیار مهم است همیشه از rsync روی SSH یا scp روی SSH استفاده کنید.

    اکنون اجازه دهید با مثال های ساده واقعی از دستورات nc و pv آغاز کنیم اما قبل از آن هر دو ابزار باید روی سیستم تان نصب باشند. در صورتی که نصب نبودند آنها را با استفاده از ابزار پکیج منیجر مربوط به توزیع لینوکسی خود و همانند دستورات زیر نصب کنید.
    کد PHP:
    # yum install netcat pv        [On RedHat based systems]
    # dnf install netcat pv        [On Fedora 22+ versions]
    # apt-get install netcat pv    [On Debian and its derivatives] 

    نحوه انتقال فایل ها بین 2 ماشین لینوکسی

    فرض میکنیم که شما میخواهید یک فایل بزرگ به نام Elastix-4.0.74-Stable-x86_64-bin-10Feb2016.iso از کامپیوتر A به کامپیوتر B و از طریق شبکه ارسال کنید. سریع ترین راه برای رسیدن به این هدف استفاده از دستور nc (یکی از ابزارهای شبکه) میباشد که فایل ها را از طریق شبکه TCP انتقال میدهد. و همچنین استفاده از دستور pv برای مانیتور کردن عملیات ارسال data و همچنین ابزار tar برای فشرده سازی دیتا به منظور بهبود سرعت انتقال میباشد.


    روی ماشین لینوکسی A

    ابتدا به ماشین A با ip آدرس 192.168.25.4 لاگین میکنیم سپس دستور زیر را اجرا کنید.
    کد PHP:
    # tar -zcf - Elastix-4.0.74-Stable-x86_64-bin-10Feb2016.iso | pv | nc -l -p 5555 -q 5 
    اجازه دهید آپشن های استفاده شده در دستور بالا را شرح دهیم.

    tar -zcf : دستور tar یک ابزار tape archive میباشد که برای compress/uncompress کردن فایل های آرشیو مورد استفاده قرار میگیرد. آپشن -c یک فایل آرشیو .tar جدید ایجاد میکند، -f نوع فایل آرشیو را مشخص میکند و -z آرشیو را از طریق gzip فشرده میکند.
    Elastix-4.0.74-Stable-x86_64-bin-10Feb2016.iso : نام فایلی که از طریق شبکه منتقل خواهد شد را مشخص میکند که میتواند فایل یا مسیر یک فایل باشد.
    pv : دستور Pipe Viwer برای مانیتور کردن عملیات ارسال Data
    nc -l -p 5555 -q 5 : ابزار شبکه ای که برای ارسال و دریافت دیتا روی بستر TCP استفاده میشود. آپشن -l برای listen کردن یک ارتباط ورودی استفاده میشود، آپشن -p 5555 پورت مبداء مورد استفاده را مشخص میکند و -q 5 تعداد ثانیه های انتظار را مشخص کرده و بعد از آن زمان بسته میشود.


    روی ماشین لینوکسی B

    اکنون به ماشین B با ip آدرس 192.168.25.76 لاگین کرده و دستور زیر را اجرا کنید.
    کد PHP:
    # nc 192.168.1.4 5555 | pv | tar -zxf - 
    جهت مشاهده دمو بر روی تصویر کلیک کنید.
    [img]
    transfer-file-between-2-linux-server-pv-nc-command-linux-terminal-gif
    [/img]

    فایل مورد نظر به کامپیوتر B منتقل میشود و شما قادر خواهید بود که میزان سرعت عملیات اجرایی را مشاهده کنید. هزاران کاربرد بی نظیر دیگر از ابزار های nc (که هنوز پوشش داده نشده اما به زودی درباره آنها خواهیم نوشت) و همچنین pv (ما قبلا یک مقاله با جزئییات درباره آن آماده کردیم که از اینجا میتوانید آنرا مطالعه کنید) موجود است. اگر شما نیز مثالهای دیگری از این دستورات میدانید با ما در همین پست به اشتراک بگذارید.
    ویرایش توسط Habili : 08-14-2017 در ساعت 12:02 PM
    voip trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : http://www.linkedin.com/profile/view...15&trk=spm_pic


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

  1. تشریح دستورات لینوکسی
    توسط r0mel در انجمن تازه واردین لینوکس >> Beginner Basics
    پاسخ: 0
    آخرين نوشته: 06-16-2017, 12:04 PM
  2. پاسخ: 0
    آخرين نوشته: 07-22-2016, 12:36 PM
  3. پاسخ: 0
    آخرين نوشته: 12-08-2015, 12:25 AM
  4. پاسخ: 9
    آخرين نوشته: 10-15-2014, 09:59 PM

کلمات کلیدی این موضوع

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

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
درباره ما
سایت منطقه لینوکسی ها در سال 1392 با هدف ارائه خدمات نوین در حوزه فناوری اطلاعات و ارتباطات در راستای پیاده سازی ارتباطات صدا، تصویر، دیتا و بالا بردن سطح علمی و عمومی کاربران از طریق انجمن در سطح جهانی راه اندازی شده و با بهره گیری از توان تخصصی و تجارب حرفه ای مدیران و کارشناسان خود، پیشگام بودن در ارائه راه کارهای برتر را آرمان خود قرار داده است. امید است این سایت بتواند زمینه ساز رشد و ترقی جامعه ایرانی در سرتاسر دنیا گردد.
شبکه های اجتماعی
ایمیل مدیر کل
habili@linux-zone.org