چگونه دو پوشه در ویندوز را هماهنگ کنیم

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

چگونه دو پوشه در ویندوز را هماهنگ کنیم

یکی از مهمترین کارهایی که ادمین‌های شبکه‌ باید انجام بدهند این است که نسخه‌های پشتیبان بروزی داشته باشند و سناریوهای مختلفی برای تهیه نسخه پشتیبان داشته باشند. یکی از این سناریوهای تهیه نسخه پشتیبان‌ در شرکتی که مشغول به کار هستم پیاده می‌شود رایت پایگاه‌های‌داده مهم بر روی بر روی DVD است. یکی از چالش‌های من جمع آوری این پایگاه‌های‌داده در یک محل مجتمع بود که باید به صورت دستی از هر سرور پایگاه‌داده را کپی می‌کردم و بعد اقدام به رایت آن بر روی DVD می‌کردم. از این رو به دنبال راهی برای ساده سازی و و خودکارسازی این فرایند گشتم که نتیجه آن چند روش برای همگام سازی دو پوشه با در نظر گرفتن شرایط مختلف بود که در این مقاله قصد دارم با شما به اشتراک بگذارم.

دستور Robocopy

اولین موردی که به آن رسیدم دستور Robocopy در cmd ویندوز بود که شالوده تمامی روش‌های بعدی که معرفی خواهند شد نیز می‌باشد. Robocopy دستوری برای کپی یا انتقال فایل از یک مقصد به مقصد دیگر با امکانات متفاوت و زیاد است. نحو این دستور بصورت زیر است:

ROBOCOPY source destination [file [file]…] [options]

بیایید برای دست‌گرمی بصورت پایه‌ با این دستور کار کنیم. قبل این که شروع به استفاده از این دستور کنیم یک سناریوی کلی برای این مقاله در نظر می‌گیرم و تا آخر مقاله همان را بسط خواهم داد. فرض می‌کنیم پوشه اصلی ما در مسیر D:src و پوشه هدف در مسیر C:dest قرار دارد.

robocopy d:src c:dest

دستور بالا پایه‌ای ترین استفاده از دستور Robocopy است که همه محتویات پوشه اصلی را در پوشه دوم کپی می‌کند.

دستور Robocopy

اما اگر بخواهیم یک فایل خاص را جابه‌جا کنیم باید نام آن را کامل بنویسیم:

robocopy d:src c:dest a.jpg

همچنین استفاده از Wildcardهای * و ? نیز برای افزودن شرط به نام فایل مجاز است. ? به معنی هیچ یا فقط یک نویسه و * به معنی هیچ یا بیشتر است. اگر با Regular Expressionها  یا عبارات با قاعده کار کرده باشید درک این نویسه‌ها برای شما دشوار نیست. اگر در این رابطه اطلاعی ندارید می‌توانید مقاله زیر را که پیشتر در کافه‌آموزش منتشر کرده‌ام مطالعه بفرمایید.

Regular Expressions یا عبارات با قاعده چیست؟

برای مثال اگر بخواهیم همه فایل‌هایی که پسوند خاصی دارند را کپی کنیم باید ساختار زیر را به کار بگیریم:

robocopy d:src c:dest *.jpg

یا اگر بخواهیم هر فایلی که در نام آن حرف  a وجود دارد با هر پسوندی کپی شود بصورت زیر عمل می‌کنیم:

*.*robocopy d:src c:dest *a

علاوه بر این دستور تعداد زیادی گزینه در اختیار ما قرار می‌دهد که چند مورد از آن را که برای من کاربردی بود بیان می‌کنم. بقیه گزینه‌ها را می‌توانید از مستندات خود مایکروسافت در اینجا بخوانید.

دوره آموزشی مایکروسافت MCSA

چیزی که من می‌خواستم این بود که تمامی فایل‌هایی که در پوشه مبدا بودند به پوشه مقصد منتقل شوند با این شرط که فقط فایل‌هایی منتقل شوند که 24 ساعت بیشتر از عمرشان نمی‌گذرد و پسوند bak دارند. در واقع فایل‌های پشتیبانی که 24 ساعت گذشته تولید شده بودند را می‌خواستم. این کار به کمک گزینه زیر امکان پذیر شد:

robocopy d:src c:dest *.bak /maxage:1

شما هم می‌توانید با مطالعه مستندات مایکروسافت فرمان مد نظر خود را ایجاد کنید. تا اینجای کار ما دستوری که فایل‌ها را برای ما کپی می‌کند ایجاد کرده‌ایم. حال چطور آن را خودکار کنیم که نیازی نباشد هربار ما دستی این دستور را وارد کنیم؟ برای این کار باید دست به دامن Task Scheduler ویندوز شویم و دستور خود را به آن بسپاریم تا برای ما در زمان معین اجرا کند.

نرم افزار FreeFileSync

دومین راه‌کاری که بنظرم کارایی مناسبی دارد و در واقع می‌توان گفت همان روش قبلی ولی بصورت GUI است استفاده از نرم‌افزار Free File Sync است.  همان‌طور که در تصویر زیر مشاهده می‌کنید پس از انتخاب مبدا و مقصد فایل‌هایی که در مقصد وجود ندارند را لیست می‌کند و می‌توانید انتخاب کنید کدام فایل‌ها به مقصد کپی شوند.

نرم افزار FreeFileSync

این نرم‌افزار براساس سه ملاک می‌تواند فایل‌های مبدا و مقصد را با هم مقایسه کند؛ براساس زمان و حجم فایل‌ها، براساس محتوای فایل‌ها و براساس حجم به تنهایی. این نرم‌افزار هم امکان خودکار سازی فرآیند را به ما نمی‌دهد اما می‌توان فایل‌هایی با پسوند ffs_batch ایجاد کرد و آن را از طریق Task Scheduler اجرا کرد، مانند همان چیزی که در مرحله قبل ذکر شد.

نرم‌افزار Syncovery

بهترین راه‌حلی که می‌توان از آن استفاده کرد و من به آن رسیدم استفاده از نرم‌افزار Syncovery است. چرا که این نرم‌افزار علاوه بر قابلیت‌های روش‌های قبلی به وفور قابلیت در آن دیده می‌شود که مهم‌ترین آن امکان تعریف Job برای اجرا شدن در زمان‌بندی‌های مشخص است. این نرم‌افزار آنقدر قابلیت دارد که می‌توان یک کتاب چند صد صفحه‌ای درباره آن نوشت. امکان تعیین الگو برای نام فایل‌، تعیین محدودیت برای تعداد فایل‌هایی که باید کپی شوند، تعیین الگو برای نام پوشه و خیل قابلیت‌های دیگر.

نرم‌افزار Syncovery

هرچند کار با نرم‌افزار به صورت پایه خیلی سخت نیست اما برای استفاده حرفه‌ای تر حتما مستندات آن را مطالعه کنید و از آنجاییکه مستندات کاملی دارد نیازی به کمک دیگری نخواهید داشت.

امیدوارم این آموزش نیز مورد فایده شما واقع شده باشد. منتظر نظرات شما دوستان هستیم.

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×
تلگرام
اینستاگرام
پشتیبانی آنلاین