| BTRBK(1) | راهنمای Btrbk | BTRBK(1) |
نام (NAME)
btrbk - ابزار پشتیبانگیری و ساخت اسنپشات برای زیرحجمهای btrfs
خلاصه دستور (SYNOPSIS)
btrbk [-h|--help] [--version]
[-c|--config <file>] [-n|--dry-run] [--exclude <filter>]
[-p|--preserve] [--preserve-snapshots] [--preserve-backups]
[-v|--verbose] [-q|--quiet] [-l|--loglevel <level>]
[-t|--table] [-L|--long] [-1|--single-column]
[--format <output-format>] [--pretty]
[-S|--print-schedule] [--progress]
[--lockfile <file>]
[--override <config_option>=<value>]
<command> [[--] <filter>...]
توضیحات (DESCRIPTION)
دستور btrbk یک ابزار پشتیبانگیری برای زیرحجمهای btrfs است که از قابلیتهای اختصاصی btrfs برای ایجاد اسنپشاتهای اتمیک و انتقال افزایشی آنها به یک سیستمفایل مقصد btrfs بهره میبرد. این ابزار قادر است عملیات پشتیبانگیری را از یک مبدأ به چندین مقصد انجام دهد.
برای بیشتر عملیاتها، btrbk جهت اجرای صحیح نیازمند دسترسیهای ریشه (root privileges) است. به عنوان جایگزین، میتوانید استفاده از بکاندهای "btrfs-progs-sudo" یا "btrfs-progs-btrbk" را مد نظر قرار دهید، که هر دو به شما اجازه میدهند btrbk را به عنوان یک کاربر عادی اجرا کنید. برای جزئیات بیشتر به گزینه پیکربندی backend در btrbk.conf(5) مراجعه کنید.
اسنپشاتها و پشتیبانها (Snapshots and Backups)
اسنپشاتها و همچنین زیرحجمهای پشتیبان در این قالب ایجاد میشوند:
<snapshot-name>.<timestamp>[_N]
که در آن <snapshot-name> همنام با زیرحجم مبدأ است، مگر اینکه گزینه پیکربندی snapshot_name تنظیم شده باشد. <timestamp> برچسب زمانی توصیفکننده زمان ایجاد (زمان محلی میزبانی که btrbk را اجرا میکند) اسنپشات/پشتیبان است. این قالب را میتوان با استفاده از گزینه timestamp_format پیکربندی کرد، برای جزئیات به btrbk.conf(5) مراجعه کنید. اگر چندین اسنپشات/پشتیبان در یک تاریخ/زمان یکسان ایجاد شوند، مقدار N از ۱ شروع شده و در هر اسنپشات افزایش مییابد.
اگر یک اسنپشات یا پشتیبان با الگوی نامگذاری بالا مطابقت نداشته باشد (مثلاً اگر به صورت دستی تغییر نام داده شده باشد)، btrbk آن را دستنخورده باقی میگذارد.
توجه داشته باشید که در اصطلاحات btrfs، یک snapshot عبارت است از «یک زیرحجم با محتوای اولیه مشخص از زیرحجم اصلی» (که یک parent-uuid را نشان میدهد، btrfs-subvolume(8) را ببینید)، و میتواند خواندن-نوشتن (پیشفرض) یا فقطخواندنی باشد. در اصطلاحات btrbk، واژه snapshot به معنی «اسنپشات فقطخواندنی btrfs» و واژه backup به معنی «زیرحجم فقطخواندنی ایجادشده با send/receive» (که یک received-uuid را نشان میدهد) است.
گزینهها (OPTIONS)
-h, --help
--version
-c, --config <file>
-n, --dry-run
--exclude <filter>
-p, --preserve
--preserve-snapshots
--preserve-backups
--wipe
-v, --verbose
-q, --quiet
-l, --loglevel <level>
-t, --table
-L, --long
-1, --single-column
--format table|long|raw|col:[h:]<columns>
اگر روی "col:" تنظیم شود، فقط ستونهای مشخصشده در <columns> (فهرست جداشده با کاما) را چاپ میکند. اگر اصلاحکننده "h:" وجود داشته باشد خطوط هدر حذف میشوند. ستونهایی با پیشوند "-" در صورت خالی بودن جمع میشوند. ستونهایی با پسوند ":RALIGN" راستچین میشوند.
--pretty
-S, --print-schedule
--progress
--lockfile <file>
--override <config_option>=<value>
دستورات (COMMANDS)
عملیاتها (Actions)
دستورات زیر برای ایجاد اسنپشات و/یا پشتیبان استفاده میشوند. تمام اقدامات میتوانند در حالت اجرای آزمایشی (-n، --dry-run) کار کنند. از گزینه خط فرمان --format برای جابجایی بین قالبهای مختلف خروجی استفاده کنید.
برای اطلاعات در مورد پیکربندی سیاست نگهداری، بخش RETENTION POLICY را در btrbk.conf(5) ببینید.
run [filter...]
گام ۰: خواندن دادهها (Step 0: Read Data)
گام ۱: ساخت اسنپشاتها (Step 1: Create Snapshots)
گام ۲: ایجاد پشتیبانها (Step 2: Create Backups)
گام ۳: حذف پشتیبانها (Step 3: Delete Backups)
گام ۴: حذف اسنپشاتها (Step 4: Delete Snapshots)
dryrun [filter...]
snapshot [filter...]
توجه داشته باشید که اگر مقصد در دسترس نباشد، حذف اسنپشات نادیده گرفته میشود، زیرا همچنان برای تعیین آخرین جفت اسنپشات/پشتیبان (که بدون در نظر گرفتن سیاست نگهداری همیشه حفظ میشود) مورد نیاز است.
resume [filter...]
prune [filter...]
توجه داشته باشید که اگر مبدأ یا مقصد در دسترس نباشد، حذف نادیده گرفته میشود، زیرا همچنان برای تعیین آخرین جفت اسنپشات/پشتیبان (که بدون در نظر گرفتن سیاست نگهداری همیشه حفظ میشود) مورد نیاز است.
archive <source> <target> [--raw]
اگر میخواهید از زیرحجمهای تو در تو در سیستمفایل مقصد استفاده کنید، باید آنها را به صورت دستی ایجاد کنید (مثلاً با اجرای "btrfs subvolume create <target>/dir"). اگر مطمئن نیستید، خروجی --dry-run را بررسی کنید.
توجه داشته باشید که این ویژگی برای عملکرد صحیح به linux kernel >=4.4 نیاز دارد!
اگر گزینه --raw تنظیم شده باشد، مقصدهای خام (raw) ایجاد میکند (آزمایشی، btrbk.conf(5)، بخش انواع مقصد (TARGET TYPES) را ببینید).
clean [filter...]
جدول زیر نمای کلی سریعی از دستورات عملیاتی و نتایج حاصله شامل ایجاد اسنپشات (+S)، ایجاد پشتیبان (+B)، حذف اسنپشات (-S) و حذف پشتیبان (-B) ارائه میدهد:
Command Option S+ B+ S- B- -------------------------------------------- run x x x x run --preserve x x run --preserve-snapshots x x x run --preserve-backups x x x snapshot x x snapshot --preserve x resume x x x resume --preserve x resume --preserve-snapshots x x resume --preserve-backups x x prune x x prune --preserve-snapshots x prune --preserve-backups x
دستورات اطلاعاتی (Informative Commands)
دستورات زیر صرفاً اطلاعاتی هستند و سیستمفایل را تغییر نخواهند داد.
stats [filter...]
list <subcommand> [filter...]
زیردستورات موجود (پیشفرض “all”):
all
snapshots
backups
latest
config
source
volume
target
از گزینه خط فرمان --format برای جابجایی بین قالبهای مختلف خروجی استفاده کنید.
usage [filter...]
origin <subvolume>
diff <from> <to>
SIZE file was modified for a total of SIZE bytes
COUNT file was modified in COUNT generations
FLAGS "+" file accessed at offset 0 (at least once)
"c" COMPRESS flag is set (at least once)
"i" INLINE flag is set (at least once)
extents [diff] <subvolume>... [exclusive <subvolume>...]
زیرحجمهای پس از کلمه کلیدی exclusive به یک مجموعه جداگانه اضافه میشوند، و دادههای set-exclusive اضافی در انتهای فهرست چاپ میشوند. این کار دیدی از میزان دادهای که در صورت حذف همه زیرحجمهای موجود در مجموعه آزاد میشود ارائه میدهد. مثال:
btrbk extents diff /backup/data.* exclusive /backup/data.2010*
ستون EXCLUSIVE دادههای set-exclusive تمام زیرحجمهای دیگرِ (!) فهرستشده را نشان میدهد (متمم نسبی نواحی بلوک). به شرطی که تمام زیرحجمهای مرتبط (حاوی ارجاع به extentها) نیز فهرست شده باشند، این مقدار از فضای دیسک در هنگام حذف زیرحجم آزاد خواهد شد.
ستون DIFF دادههای اضافهشده به زیرحجم قبلی را نشان میدهد (متمم نسبی نواحی بلوک).
اگر با گزینه --related فراخوانی شود، btrbk تمام زیرحجمهای مرتبط را نیز فهرست میکند. این مورد برای پشتیبانها توصیه نمیشود، زیرا به محض حذف یک زیرحجم میانی، روابط parent-uuid برای زیرحجمهای دریافتشده شکسته میشود.
توجه داشته باشید که خواندن تمام extentها یک کار سنگین روی دیسک است؛ انتظار زمانهای اجرای طولانی و مصرف بالای رم (RAM) را داشته باشید. مقداردهی cache_dir را مد نظر قرار دهید.
ls <path>|<url>...
config print|print-all
عبارتهای فیلتر (FILTER STATEMENTS)
آرگومانهای فیلتر به قالب زیر پذیرفته میشوند:
<group-name>
<hostname>[:<port>]
<directory>|<url>
<volume-directory>
<volume-directory>/<subvolume-name>
<volume-directory>/<snapshot-dir>/<snapshot-name>
<target-directory>
<target-directory>/<snapshot-name>
قالبهای پذیرفتهشده برای <url> عبارتند از:
ssh://<hostname>[:<port>]/<directory> <hostname>:<directory>
توجه داشته باشید که برای دستورات run و snapshot، فیلتری که با یک بخش پیکربندی target مطابقت دارد، ایجاد اسنپشات از بخش subvolume پیرامون آن را نیز فعال میکند. اگر این مورد مطلوب نیست، اجرای جداگانه دستورات snapshot و resume را مد نظر قرار دهید.
عبارتهای فیلتر میتوانند چندین بار مطابقت پیدا کنند (مثلاً هم روی گروه و هم روی نام میزبان). در چنین حالتی، تمام موارد منطبق پردازش میشوند.
فایلها (FILES)
/etc/btrbk.conf, /etc/btrbk/btrbk.conf
وضعیت خروج (EXIT STATUS)
btrbk کدهای خطای زیر را برمیگرداند:
0
1
2
3
10
255
دسترسپذیری (AVAILABILITY)
لطفاً برای جزئیات بیشتر به صفحه پروژه btrbk در https://digint.ch/btrbk مراجعه کنید.
همچنین ببینید (SEE ALSO)
برای اطلاعات بیشتر درباره btrfs و پشتیبانگیری افزایشی، به وبسایت در نشانی https://btrfs.wiki.kernel.org/index.php/Incremental_Backup مراجعه کنید.
نویسندگان (AUTHORS)
Axel Burri <axel@tty0.ch>
| 2026-07-19 | Btrbk 0.32.7 |