borgfs(1) borg backup tool borgfs(1)

borgfs - سوار کردن مخزن یا بایگانی Borg به عنوان سامانه فایل FUSE

borgfs [options] REPOSITORY_OR_ARCHIVE MOUNTPOINT [PATH...]

این دستور یک مخزن یا یک بایگانی را به عنوان سامانه فایل FUSE سوار می‌کند. این ویژگی می‌تواند برای مرور یا بازیابی فایل‌های تکی مفید باشد.

هنگام بازیابی، در نظر داشته باشید که پیاده‌سازی فعلی FUSE از فلگ‌های ویژه سامانه فایل و ACLها پشتیبانی نمی‌کند.

هنگام سوار کردن یک مخزن، پوشه‌های سطح بالا مشابه بایگانی‌ها نام‌گذاری می‌شوند و ساختار پوشه زیر آن‌ها هنگام ورود به این پوشه‌ها بر حسب تقاضا (on-demand) از مخزن بارگذاری خواهد شد، بنابراین مقداری تاخیر مورد انتظار است.

نکته:

ابزار Borg پیوندهای نمادین را همان‌گونه که هستند ذخیره می‌کند. در نتیجه، هنگامی که یک بایگانی یا مخزن سوار می‌شود، ممکن است پیوندهای نمادین به مکان‌هایی خارج از نقطه سوار کردن (mountpoint) اشاره کنند؛ خواه به دلیل مطلق بودن آن‌ها و خواه به دلیل این‌که پیوندهای نسبی به خارج از درخت سوار شده پیمایش می‌کنند.

قوانین معمول تحلیل مسیر UNIX اعمال می‌شود: بیشتر ابزارها به‌طور پیش‌فرض پیوندهای نمادین را دنبال می‌کنند و بنابراین ممکن است به فایل‌ها یا پوشه‌هایی دسترسی پیدا کنند که بخشی از بایگانی سوار شده نیستند. در نتیجه، عملیاتی که هدف آن‌ها بررسی داده‌های بایگانی‌شده است ممکن است در عوض به داده‌های زنده "live" از سامانه فایل میزبان دسترسی یابند.

در لینوکس، می‌توان با سوار کردن مجدد نقطه اتصال با گزینه سوار کردن VFS به نام nosymfollow از این امر جلوگیری کرد، برای مثال:

borg mount <repo path> <mountpoint> mount -o remount,nosymfollow <repo path> <mountpoint>

همچنین، می‌توانید از یک محیط ایزوله مناسب (برای مثال یک کانتینر یا chroot) به بایگانی سوار شده دسترسی پیدا کنید.

مگر اینکه گزینه --foreground مشخص شده باشد، دستور در پس‌زمینه اجرا خواهد شد تا زمانی که سامانه فایل پیاده (unmount) شود.

نکات کارایی:

  • هنگام سوار کردن کل مخزن ("whole repository"): در صورت عدم نیاز، وارد پوشه‌های بایگانی نشوید؛ این کار از بارگذاری بر حسب تقاضا جلوگیری می‌کند.
  • تنها یک بایگانی مشخص را سوار کنید، نه کل مخزن را.
  • تنها مسیرهای مشخص در یک بایگانی خاص را سوار کنید، نه کل بایگانی را.

دستور borgfs یک پوشش برای borg mount فراهم می‌کند. این دستور همچنین می‌تواند در ورودی‌های fstab استفاده شود: /path/to/repo /mnt/point fuse.borgfs defaults,noauto 0 0

برای اجازه دادن به یک کاربر عادی جهت استفاده از ورودی‌های fstab، گزینه user را اضافه کنید: /path/to/repo /mnt/point fuse.borgfs defaults,noauto,user 0 0

برای پیکربندی FUSE و گزینه‌های سوار کردن، به صفحه راهنمای mount.fuse(8) مراجعه کنید.

رفتار پیش‌فرض Borg این است که از نام‌های کاربر و گروه بایگانی‌شده هر فایل استفاده کرده و آن‌ها را به شناسه کاربر و گروه مربوطه در سیستم نگاشت کند. همچنین، استفاده از numeric-ids باعث می‌شود به جای آن از شناسه‌های کاربری و گروهی بایگانی‌شده بدون هیچ‌گونه نگاشتی استفاده شود.

گزینه‌های سوار کردن uid و gid (پیاده‌سازی‌شده توسط Borg) می‌توانند برای بازنویسی شناسه‌های کاربر و گروه تمام فایل‌ها استفاده شوند (مانند borg mount -o uid=1000,gid=1000).

صفحه راهنما به گزینه‌های سوار کردن user_id و group_id (پیاده‌سازی‌شده توسط FUSE) اشاره دارد که شناسه کاربر و گروه مالک سوار کردن (یعنی کاربری که عمل سوار کردن را انجام می‌دهد) را مشخص می‌کنند. این مقدار به‌طور خودکار توسط libfuse (یا سامانه فایل در صورت عدم استفاده از libfuse) تنظیم می‌شود. با این حال، نباید این موارد را به‌صورت دستی مشخص کنید. بر خلاف گزینه‌های سوار کردن uid و gid که بر تمام فایل‌ها تاثیر می‌گذارند، user_id و group_id بر شناسه کاربر و گروه پوشه سوار شده (پایه) تاثیر می‌گذارند.

گزینه‌های سوار کردن اضافی پشتیبانی‌شده توسط borg:

  • versions: هنگام استفاده به همراه سوار کردن مخزن، یک نمای ادغام‌شده و نسخه‌بندی‌شده از فایل‌ها در بایگانی‌ها ارائه می‌دهد. آزمایشی؛ ساختار ممکن است در آینده تغییر کند.
  • allow_damaged_files: به‌طور پیش‌فرض فایل‌های آسیب‌دیده (جایی که قطعه‌های مفقود با دنباله‌ای از صفرها توسط borg check --repair جایگزین شده‌اند) قابل خواندن نیستند و خطای EIO (خطای ورودی/خروجی) برمی‌گردانند. این گزینه را برای خواندن چنین فایل‌هایی تنظیم کنید.
  • ignore_permissions: بنا به دلایل امنیتی، گزینه سوار کردن default_permissions به‌طور داخلی توسط borg اعمال می‌شود. گزینه ignore_permissions را می‌توان برای عدم اعمال default_permissions مشخص کرد.

متغیر محیطی BORG_MOUNT_DATA_CACHE_ENTRIES برای کاربران پیشرفته جهت بهینه‌سازی کارایی در نظر گرفته شده است. این متغیر تعداد قطعه‌های داده ذخیره‌شده در حافظه موقت (cache) را تعیین می‌کند؛ مصرف حافظه اضافی می‌تواند تا حدود ۸ مگابایت ضرب در این عدد باشد. مقدار پیش‌فرض برابر با تعداد هسته‌های پردازنده (CPU) است.

هنگامی که فرایند دیمون‌شده یک سیگنال دریافت می‌کند یا از کار می‌افتد (crash)، پیاده‌سازی (unmount) نمی‌کند. پیاده‌سازی در این موارد می‌تواند باعث شود که یک فرایند rsync فعال یا موارد مشابه ناخواسته داده‌ها را حذف کنند.

هنگام اجرا در پیش‌زمینه، کلیدهای ^C/SIGINT سامانه فایل را به‌طور تمیز پیاده می‌کنند، اما سایر سیگنال‌ها یا از کار افتادن‌ها این کار را انجام نمی‌دهند.

اشکال‌زدایی:

دستور borg mount معمولاً به صورت دیمون درمی‌آید و فرایند دیمون خروجی استاندارد و خطای استاندارد (stdout/stderr) را به /dev/null ارسال می‌کند. بنابراین، یا باید از -f / --foreground استفاده کنید تا در پیش‌زمینه باقی بماند و دیمون نشود، یا از BORG_LOGGING_CONF برای پیکربندی مجدد ثبت‌کننده لاگ جهت ارسال خروجی به یک فایل استفاده نمایید.

برای گزینه‌های عمومی دستورات Borg، صفحه borg-common(1) را ببینید.

مخزن یا بایگانی برای سوار کردن
محل سوار کردن سامانه فایل
مسیرها برای استخراج؛ الگوها پشتیبانی می‌شوند

نمایش شماره نسخه و خروج
نمایش بایگانی‌های نقطه بازرسی (checkpoint) در فهرست محتویات مخزن (پیش‌فرض: پنهان).
ماندن در پیش‌زمینه، عدم اجرای دیمون
گزینه‌های سوار کردن اضافی
منسوخ شده، به جای آن از --numeric-ids استفاده کنید
استفاده از شناسه کاربر و گروه عددی از بایگانی(ها)

تنها در نظر گرفتن نام‌های بایگانی که با این پیشوند آغاز می‌شوند. (منسوخ شده)
تنها در نظر گرفتن نام‌های بایگانی منطبق با glob. قوانین sh: اعمال می‌شوند (بدون استفاده واقعی از پیشوند sh:)، "borg help patterns" را ببینید.
فهرست جداشده با کاما از کلیدهای مرتب‌سازی؛ کلیدهای معتبر عبارتند از: timestamp، archive، name، id؛ پیش‌فرض: timestamp
در نظر گرفتن N بایگانی نخست پس از اعمال سایر فیلترها
در نظر گرفتن N بایگانی آخر پس از اعمال سایر فیلترها

مستثنی کردن مسیرهای منطبق با PATTERN
خواندن الگوهای استثنا از EXCLUDEFILE، در هر سطر یک الگو
شامل/مستثنی کردن مسیرهای منطبق با PATTERN
خواندن الگوهای شمول/عدم‌شمول از PATTERNFILE، در هر سطر یک الگو
حذف تعداد مشخص‌شده از بخش‌های ابتدایی مسیر. مسیرهایی با بخش‌های کمتر بدون اطلاع نادیده گرفته می‌شوند.

borg-common(1)

The Borg Collective

2026-07-18