اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

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

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

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

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

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

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


    همچنین توصیه میشود مطالعه کنید :

    دستور پیشرفته Copy در لینوکس - نمایش میزان پیشرفت کپی فایل ها و فولدرهای بزرگ

    نحوه مانیتور کردن عملیات Data با استفاده از دستور PV (مخفف Pipe Viewer)

    pscp - انتقال/کپی فایل ها به چندین سرور لینوکس با استفاده از تنها یک شل

    10 نمونه از دستورات sFTP برای انتقال فایل ها روی سرورهای لینوکس راه دور

    10 نمونه از دستور scp برای انتقال فایل ها و فولدرها در لینوکس

    10 مثال از دستور Rsync در لینوکس



    اکنون نحوه ترکیب دو دستور برای انتقال فایل ها بین دو کامپیوتر لینوکسی را با هم مشاهده میکنیم. برای این منظور در این مقاله ما از دو ماشین لینوکسی با 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 - 
    دستور nc در لینوکس





    فایل مورد نظر به کامپیوتر B منتقل میشود و شما قادر خواهید بود که میزان سرعت عملیات اجرایی را مشاهده کنید. هزاران کاربرد بی نظیر دیگر از ابزار های nc (که هنوز پوشش داده نشده اما به زودی درباره آنها خواهیم نوشت) و همچنین pv (ما قبلا یک مقاله با جزئییات درباره آن آماده کردیم که از اینجا میتوانید آنرا مطالعه کنید) موجود است. اگر شما نیز مثالهای دیگری از این دستورات میدانید با ما در همین پست به اشتراک بگذارید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-24-2021, 12:05 PM.
    Instagram : https://www.instagram.com/iranlinuxforum

    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 : https://www.linkedin.com/in/masuma-vahid-26b17b66/

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X