این سناریو را تصور کنید.
شما می توانید چندین فایل بزرگ را از یک سیستم به سیستم دیگر از طریق SSH با استفاده از دستور scp کپی کنید.
برق ناگهان خاموش می شود ، اتصال به شبکه قطع می شود و روند کپی در نیمه کار قطع می شود.
آیا شما این کار را می کنید؟
به محض روشن شدن مجدد ، روند کپی را مجدداً راه اندازی کنید؟
بله ، کار خواهد کرد.
با این وجود ، دستور scp گزینه رزومه ای ندارد ، بنابراین فقط از ابتدا کپی کردن فایل ها را از ابتدا شروع می کند و دوباره فایل های موجود را بازنویسی می کند.
این کمی اشک است
ابزار Rsync در اینجا مفید است
! ما می توانیم به راحتی فایل های منتقل شده از طریق SSH را با استفاده از Rsync از سر بگیریم.
این به شما کمک می کند تا نسخه کپی شده یا بارگیری را از جایی که می توانید دوباره از سر بگیرید.
Rsync چیست؟
برای کسانی که علاقه مند هستند ، Rsync یک ابزار سریع ، کپی فایل جهانی است که می توانید برای کپی و انتقال فایل ها یا پوشه ها به سیستمهای از راه دور و محلی استفاده کنید. [19659015] ابزار تعداد زیادی پارامتر را ارائه می دهد در که کنترل هر جنبه از رفتار او و اجازه می دهد انعطاف پذیری زیادی را به مجموعه ای مجموعه ای از فایل به کپی شود.
این الگوریتم انتقال دلتا شناخته شده است ، که با ارسال تنها تفاوت های بین پرونده های منبع و پرونده های موجود در مقصد ، مقدار داده های منتقل شده از طریق شبکه را کاهش می دهد.
Rsync به طور گسترده ای برای تهیه نسخه پشتیبان و آینه سازی ، و همچنین دستور کپی بهبود یافته برای استفاده روزمره مورد استفاده قرار می گیرد.
درست مانند SCP ، rsync فایل ها را نیز از طریق SSH کپی می کند.
اگر می خواهید فایل ها را بارگذاری یا انتقال دهید و پوشه های بزرگ در SSH ، توصیه می کنم که از ابزار rsync مطابق شکل زیر استفاده کنید.
از سرگیری انتقال پرونده از طریق SSH
توجه داشته باشید که ابزار rsync باید از دو طرف نصب شود (یعنی سیستم های از راه دور و محلی) تا از سر بگیرید. تا حدی قبل پرونده ها
Rsync در مخازن رسمی اکثر توزیع های لینوکس موجود است ، بنابراین می توانید آن را با استفاده از مدیر بسته پیش فرض نصب کنید.
در Arch Linux و انواع آن ، Rsync را با استفاده از دستور نصب کنید:
$ sudo pacman -S rsync
On Debian ، Ubuntu ، Linux Mint :
$ sudo apt-get install rsync [196590013] on ]:$ sudo dnf install rsyncOn RHEL ، CentOS :
$ sudo yum install rsyncon SUSE /SUSE /SUSE ]:
$ sudo zypper install rsyncحالا بیایید مثالی بزنیم.
من قصد دارم کپی کنم Ubuntu 18.04 ISO از سیستم محلی من به سیستم از راه دور با استفاده از دستور:
$ scp ubuntu.iso [email protected]: / home / itsecforu /جایی که:
- itecforu نام کاربری است سیستم از راه دور من
- 192.168.225.22 آدرس IP رایانه از راه دور است.
- / home / itsecforu / مقصد راه دور است.
اکنون من با فشار دادن CTRL + فرآیند کپی را به اجبار فسخ کردم. ج.
خروجی مثال: رمز عبور
[email protected]: ubuntu-16.04-desktop-amd64.iso 26٪ 372MB 26.2MB / s 00:39 ETA ^ cهمانطور که در خروجی بالا مشاهده می کنید ، وقتی که به 33٪ رسید ، روند کپی را متوقف کردم.
اگر دستور فوق را مجدداً راه اندازی کنم ، به سادگی پرونده موجود را رونویسی می کند.
به عبارت دیگر ، روند کپی از جایی که من آن را متوقف کردم از سر گرفته نمی شود.
برای از سرگیری روند کپی کردن برای کپی کردن فایل ISO به طور جزئی منتقل شده ، از دستور rsync مانند تصویر زیر استفاده کنید.
] $ rsync -P -rsh = ssh ubuntu.iso [email protected]: / home / itsecforu /خروجی مثال:
[email protected] پسورد: ارسال لیست پرونده های افزایشی ubuntu.iso 834.00M 100٪ 14.81MB / s 0:00:56 (xfr # 1، to-chk = 0/1)اکنون فرآیند کپی از جایی که ما متوقف شده ایم از سر گرفته می شود. [19659018] همچنین می توانید به جای گزینه "-P" از "-partial" استفاده کنید ، همانطور که در شکل زیر نشان داده شده است.
$ rsync --partial -rsh = ssh ubuntu.iso [email protected]: / home / itsecforu /در اینجا ، پارامتر "-partial" یا "-P" به rsync می گوید تا فایل بارگیری شده جزئی را ذخیره کرده و روند را از سر بگیرد.
بررسی کنید که آیا این فایل واقعاً با استفاده از دستور از سیستم ریموت کپی شده است یا خیر:
] $ ssh [email protected] ls -lh رمز عبور [email protected]: در کل 835M -rw-rw-r-- 1 sk sk 834M ژوئیه 26 2019 ubuntu.isoهمانطور که از خروجی بالا می بینید ، فایل Ubuntu.iso در سیستم ریموت کپی شده و اندازه آن 835 مگابایت است.
در عوض ، می توانیم از دستورات زیر نیز برای از سرگیری پرونده های منتقل شده از طریق SSH استفاده کنیم.
$ rsync -avP ubuntu.iso [email protected]: / home / itsecforu /یا$ rsync -av - -partial ubuntu.iso [email protected]: / home / itsecforu /اکنون می دانید که چگونه می توانید پرونده های لغو شده ، قطع شده و جزئی بارگیری شده را با استفاده از دستور rsync بارگیری کنید.
همانطور که مشاهده می کنید ، این است خیلی سخت نیست.
اگر سبیل rsync anovlen در هر دو سیستم، ما به راحتی می توانید از سرگیری روند پشتیبان گیری، همانطور که در بالا توضیح داده شد.