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

نویسنده: Carl Weaver
تاریخ ایجاد: 23 فوریه 2021
تاریخ به روزرسانی: 1 جولای 2024
Anonim
آموزش انتقال سریع فایل از هاست به هاست دیگر
ویدیو: آموزش انتقال سریع فایل از هاست به هاست دیگر

محتوا

در محیط چند سرور لینوکس ، بسیاری از وظایف شامل انتقال یک یا چند فایل از یک سرور به سرور دیگر است. بسته به تعداد فایل هایی که باید جابجا کنید ، چندین دستور وجود دارد که می تواند به شما کمک کند ... بیایید برای این بحث ها فرض کنیم که سرورهای ما alice و madhat هستند و کاربر ما در alice خرگوش و کاربر ما در madhat fieldmouse است.

مراحل

  1. 1 برای یک فایل ساده ، دستور "scp" را امتحان کنید. می توانید از این دستور به عنوان یک دستور "push" یا "pull" استفاده کنید ، اما بیایید با فشار دادن فایل به سرور دیگر شروع کنیم. در حالی که در آلیس هستید از دستور "scp myfile fieldmouse @ madhat: thatfile" استفاده کنید. با این کار فایل زیر در userid "thatfile" در سیستم دیگر کپی می شود. اگر به سیستم دیگری وارد شده اید ، می توانید به راحتی فایل را با دستور "scp rabbit @ alice: myfile thatfile" بکشید و نتیجه مشابه را بدست آورید.
  2. 2 برای کپی کردن کل فهرست ، می توانیم دوباره از دستور "scp" استفاده کنیم. این بار ما کلید -r را اضافه می کنیم تا کپی را مجبور به "بازگشتی" کند. "scp -r mydir fieldmouse @ madhat:." - کل فهرست "mydir" را در یک سیستم دیگر ، از جمله تمام محتویات و فهرستهای اضافی ، کپی می کند. فهرست راهنمای madhat همچنان mydir نامیده می شود.
  3. 3 اگر شما یک کثیفی بزرگ از فایل ها و فهرست ها برای کپی دارید؟ می توانید از دستور "tar" برای ایجاد یک فایل استفاده کنید ، سپس آن فایل را مانند تصویر بالا کپی کنید و سپس از tar برای توزیع آن به سرور دیگر استفاده کنید ... اما به نظر می رسد ... شبیه یونیکس نیست. باید راهی برای انجام آن در یک مرحله وجود داشته باشد ، درست است؟ خوب البته!

    E لوله پوسته مورد علاقه خود را وارد کنید. ما هنوز می توانیم از tar برای بسته بندی فایل های مورد نظر خود و سپس از SSH برای بارگیری آنها بر روی سیستم دیگر (که SCP در زیر پوسته ها از آن استفاده می کند) و tar از طرف دیگر برای توزیع مجدد فایل ها استفاده کنیم. اما چرا وقت و فضا را برای ایجاد خود فایل tar هدر می دهیم ، در حالی که ما به سادگی می توانیم لوله ای ایجاد کنیم که دو سیستم را در بر می گیرد و داده های tar را از طریق آن منتقل می کند؟

    با استفاده از دایرکتوری مشابه مثال قبلی ، "tar -cf - mydir / * | ssh fieldmouse @ madhat" tar -xf - "را امتحان کنید

نکات

  • البته روش های دیگری نیز برای انجام این کار وجود دارد. لینوکس پر از ابزار است.رتبه شما ممکن است تغییر کند
  • هنگام استفاده از دستورات بالا ، باید نام کاربری / نام میزبان / نام فهرست پرونده را بسته به پیکربندی شبکه و محیط خود تغییر دهید. دستورات بالا فقط نمونه هایی از نحوه اجرای دستورات کپی فایل ها در سرور هستند.

هشدارها

  • مطمئن شوید که شناسه ها و GID های آنها در سیستم های مختلفی که استفاده می کنید یکسان باشد (نه فقط نام کاربری). اگر اینطور نباشد ، مشکلات امنیتی جالبی رخ می دهد.