.TH BUPSTASH 1 "2026-09-01" "bupstash" "User Commands" .SH "نام (NAME)" bupstash \- سامانه پشتیبانگیری رمزگذاریشده و بدون دادههای تکراری .SH "خلاصه دستور (SYNOPSIS)" پشتیبان‌گیری رمزگذاری‌شده و بدون داده‌های تکراری با Bupstash\. .P یکی از زیردستورهای زیر از \fBbupstash\fR را اجرا کنید: .P \fBbupstash init \|\.\|\.\|\.\fR .br \fBbupstash new\-key \|\.\|\.\|\.\fR .br \fBbupstash new\-sub\-key \|\.\|\.\|\.\fR .br \fBbupstash put \|\.\|\.\|\.\fR .br \fBbupstash list \|\.\|\.\|\.\fR .br \fBbupstash list\-contents \|\.\|\.\|\.\fR .br \fBbupstash diff \|\.\|\.\|\.\fR .br \fBbupstash get \|\.\|\.\|\.\fR .br \fBbupstash restore \|\.\|\.\|\.\fR .br \fBbupstash rm \|\.\|\.\|\.\fR .br \fBbupstash recover\-removed \|\.\|\.\|\.\fR .br \fBbupstash gc \|\.\|\.\|\.\fR .br \fBbupstash sync \|\.\|\.\|\.\fR .br \fBbupstash exec\-with\-locks \|\.\|\.\|\.\fR .br \fBbupstash serve \|\.\|\.\|\.\fR .br \fBbupstash help \|\.\|\.\|\.\fR .br \fBbupstash version \|\.\|\.\|\.\fR .br .SH "توضیحات (DESCRIPTION)" ابزار \fBbupstash\fR ابزاری برای ذخیره‌سازی (و بازیابی) فایل‌ها و داده‌ها در یک \fBbupstash\-repository\fR(7) رمزگذاری‌شده است\. .P برخی از ویژگی‌های برجسته \fBbupstash\fR عبارتند از: .IP "\(bu" 4 حذف خودکار داده‌های تکراری (Deduplication) ذخیره‌شده\. .IP "\(bu" 4 رمزگذاری داده‌ها در سمت کلاینت (Client-side)\. .IP "\(bu" 4 بارگذاری افزایشی (Incremental) فایل‌ها\. .IP "\(bu" 4 زبان پرس‌وجو بر پایه برچسب‌ها (Tag-based)\. .IP "\(bu" 4 تفکیک اختیاری کلیدهای رمزگذاری و رمزگشایی بر پایه نقش‌ها\. .IP "\(bu" 4 مخازن دوردست از طریق پروتکل SSH\. .IP "\(bu" 4 کنترل‌های دسترسی اختیاری به مخزن بر پایه هر کلید SSH\. .IP "\(bu" 4 رویکرد امنیتی چندلایه\. .IP "" 0 .P ابزار \fBbupstash\fR خود به زیردستورهایی تقسیم شده است که هر یک مستندات ویژه خود را دارند\. .SH "زیردستورها (SUBCOMMANDS)" .TP \fBbupstash\-init\fR(1) راه‌اندازی یک مخزن bupstash\. .TP \fBbupstash\-new\-key\fR(1) ایجاد یک کلید اصلی جدید برای ایجاد/خواندن آیتم‌های مخزن\. .TP \fBbupstash\-new\-sub\-key\fR(1) مشتق کردن یک زیرکلید برای زیرمجموعه‌ای از عملیات‌ها\. .TP \fBbupstash\-put\fR(1) افزودن داده به یک مخزن bupstash\. .TP \fBbupstash\-get\fR(1) واکشی داده‌های منطبق با یک پرس‌وجو از مخزن bupstash\. .TP \fBbupstash\-restore\fR(1) بازیابی یک اسنپ‌شات در یک دایرکتوری محلی\. .TP \fBbupstash\-list\fR(1) فهرست کردن آیتم‌های مخزن منطبق با یک پرس‌وجوی مشخص\. .TP \fBbupstash\-list\-contents\fR(1) فهرست کردن محتویات اسنپ‌شات دایرکتوری\. .TP \fBbupstash\-diff\fR(1) مقایسه و تفاضل‌گیری از محتویات اسنپ‌شات‌ها\. .TP \fBbupstash\-rm\fR(1) حذف آیتم‌های مخزن منطبق با یک پرس‌وجوی مشخص\. .TP \fBbupstash\-recover\-removed\fR(1) بازیابی آیتم‌های حذف‌شده‌ای که در انتظار جمع‌آوری زباله (Garbage Collection) هستند\. .TP \fBbupstash\-gc\fR(1) آزادسازی فضای دیسک در یک مخزن\. .TP \fBbupstash\-sync\fR(1) همگام‌سازی آیتم‌ها میان مخازن مختلف\. .TP \fBbupstash\-exec\-with\-locks\fR(1) اجرای یک دستور در حالی که قفل‌های انحصاری روی مخزن برقرار است\. .TP \fBbupstash\-serve\fR(1) ارائه یک مخزن از طریق stdin/stdout با استفاده از \fBbupstash\-protocol\fR(7)\. .SH "مثال‌ها (EXAMPLES)" .SS "مقداردهی اولیه مخزن و ایجاد کلیدها" .nf $ bupstash init \-r ssh://$SERVER/home/me/backups $ bupstash new\-key \-o backups\.key .fi .SS "تنظیم مخزن و کلید پیش‌فرض برای bupstash" .nf $ export BUPSTASH_REPOSITORY=ssh://$SERVER/home/me/backups $ export BUPSTASH_KEY=backups\.key .fi .SS "اسنپ‌شات‌های دایرکتوری" .nf $ bupstash put \./some\-data ebb66f3baa5d432e9f9a28934888a23d $ bupstash list\-contents id=ebb66f3baa5d432e9f9a28934888a23d drwxr\-xr\-x 0 2020/11/05 10:42:48 \. \-rw\-r\-\-r\-\- 177B 2020/07/12 17:13:42 data\.txt .fi .SS "فهرست کردن آیتم‌های منطبق با یک پرس‌وجو" .nf $ bupstash list hostname=$(hostname) id="bcb8684e6bf5cb453e77486decf61685" name="some\-file\.txt" hostname="my\-server" timestamp="2020\-07\-27 11:26:16" \|\.\|\.\|\. .fi .SS "بارگذاری‌های افزایشی" .nf $ bupstash put \-\-send\-log /var/backup\.sendlog \./some\-data ebb66f3baa5d432e9f9a28934888a23d # پشتیبان‌گیری دوم هنگام خواندن گزارش ارسال بسیار سریع‌تر انجام می‌شود\. $ bupstash put \-\-send\-log /var/backup\.sendlog \./some\-data ebb66f3baa5d432e9f9a28934888a23d .fi .SS "ضبط و ذخیره خروجی دستور" .nf # بررسی خطاها قبل از ذخیره آیتم جدید\. $ bupstash put \-\-exec name=database\.sql pgdump mydatabase 14ebd2073b258b1f55c5bbc889c49db4 .fi .SS "دریافت یک آیتم منطبق با پرس‌وجو" .nf $ bupstash get id=bcb8684e6bf5cb453e77486decf61685 some data\. .fi .SS "بازیابی یک دایرکتوری به یک اسنپ‌شات قبلی" .nf $ bupstash restore \-\-to \./dir name=dir\.tar .fi .SS "حذف آیتم‌های منطبق با یک پرس‌وجو" .nf $ bupstash rm name=some\-data\.txt .fi .SS "پاکسازی کامل یک مخزن" .nf $ bupstash rm \-\-allow\-many id=* .fi .SS "آزادسازی فضای دیسک" .nf $ bupstash gc .fi .SS "کلیدهای رمزگشایی آفلاین" .nf # ایجاد یک کلید اصلی، یک کلید فقط\-ارسال (put)، و یک کلید متادیتا (فقط list/rm)\. $ bupstash new\-key \-o backups\.key $ bupstash new\-sub\-key \-\-put \-k backups\.key \-o backups\-put\.key $ bupstash new\-sub\-key \-\-list \-k backups\.key \-o backups\-metadata\.key \|\.\|\.\|\. کپی کردن backups.key به حافظه ذخیره‌سازی آفلاین و امن \|\.\|\.\|\. # حذف کلید اصلی $ shred backups\.key $ bupstash put \-k backups\-put\.key \./data 14ebd2073b258b1f55c5bbc889c49db4 \|\.\|\.\|\. هنگام نیاز به فهرست کردن یا حذف پشتیبان‌ها، می‌توانید از کلید متادیتا استفاده کنید \|\.\|\.\|\. $ bupstash list \-k backups\-metadata\.key \|\.\|\.\|\. $ bupstash rm \-k backups\-metadata\.key \|\.\|\.\|\. پس از شرایط اضطراری، کلید رمزگشایی را از فضای ذخیره‌سازی آفلاین دریافت کنید \|\.\|\.\|\. # بازیابی با دریافت یک آیتم و رمزگشایی آن با استفاده از کلید رمزگشایی\. $ bupstash get \-k backups\.key id=14ebd2073b258b1f55c5bbc889c49db4 | tar \-C \./restore \-xf \- .fi .SH "همچنین ببینید (SEE ALSO)" \fBbupstash\-repository\fR(7), \fBbupstash\-keyfiles\fR(7)