BUPSTASH(1) User Commands BUPSTASH(1)

bupstash - سامانه پشتیبانگیری رمزگذاریشده و بدون دادههای تکراری

پشتیبان‌گیری رمزگذاری‌شده و بدون داده‌های تکراری با Bupstash.

یکی از زیردستورهای زیر از bupstash را اجرا کنید:

bupstash init ...
bupstash new-key ...
bupstash new-sub-key ...
bupstash put ...
bupstash list ...
bupstash list-contents ...
bupstash diff ...
bupstash get ...
bupstash restore ...
bupstash rm ...
bupstash recover-removed ...
bupstash gc ...
bupstash sync ...
bupstash exec-with-locks ...
bupstash serve ...
bupstash help ...
bupstash version ...

ابزار bupstash ابزاری برای ذخیره‌سازی (و بازیابی) فایل‌ها و داده‌ها در یک bupstash-repository(7) رمزگذاری‌شده است.

برخی از ویژگی‌های برجسته bupstash عبارتند از:

  • حذف خودکار داده‌های تکراری (Deduplication) ذخیره‌شده.
  • رمزگذاری داده‌ها در سمت کلاینت (Client-side).
  • بارگذاری افزایشی (Incremental) فایل‌ها.
  • زبان پرس‌وجو بر پایه برچسب‌ها (Tag-based).
  • تفکیک اختیاری کلیدهای رمزگذاری و رمزگشایی بر پایه نقش‌ها.
  • مخازن دوردست از طریق پروتکل SSH.
  • کنترل‌های دسترسی اختیاری به مخزن بر پایه هر کلید SSH.
  • رویکرد امنیتی چندلایه.

ابزار bupstash خود به زیردستورهایی تقسیم شده است که هر یک مستندات ویژه خود را دارند.

bupstash-init(1)
راه‌اندازی یک مخزن bupstash.
bupstash-new-key(1)
ایجاد یک کلید اصلی جدید برای ایجاد/خواندن آیتم‌های مخزن.
bupstash-new-sub-key(1)
مشتق کردن یک زیرکلید برای زیرمجموعه‌ای از عملیات‌ها.
bupstash-put(1)
افزودن داده به یک مخزن bupstash.
bupstash-get(1)
واکشی داده‌های منطبق با یک پرس‌وجو از مخزن bupstash.
bupstash-restore(1)
بازیابی یک اسنپ‌شات در یک دایرکتوری محلی.
bupstash-list(1)
فهرست کردن آیتم‌های مخزن منطبق با یک پرس‌وجوی مشخص.
bupstash-list-contents(1)
فهرست کردن محتویات اسنپ‌شات دایرکتوری.
bupstash-diff(1)
مقایسه و تفاضل‌گیری از محتویات اسنپ‌شات‌ها.
bupstash-rm(1)
حذف آیتم‌های مخزن منطبق با یک پرس‌وجوی مشخص.
bupstash-recover-removed(1)
بازیابی آیتم‌های حذف‌شده‌ای که در انتظار جمع‌آوری زباله (Garbage Collection) هستند.
bupstash-gc(1)
آزادسازی فضای دیسک در یک مخزن.
bupstash-sync(1)
همگام‌سازی آیتم‌ها میان مخازن مختلف.
bupstash-exec-with-locks(1)
اجرای یک دستور در حالی که قفل‌های انحصاری روی مخزن برقرار است.
bupstash-serve(1)
ارائه یک مخزن از طریق stdin/stdout با استفاده از bupstash-protocol(7).

$ bupstash init -r ssh://$SERVER/home/me/backups
$ bupstash new-key -o backups.key

$ export BUPSTASH_REPOSITORY=ssh://$SERVER/home/me/backups
$ export BUPSTASH_KEY=backups.key

$ 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

$ bupstash list hostname=$(hostname)
id="bcb8684e6bf5cb453e77486decf61685" name="some-file.txt" hostname="my-server" timestamp="2020-07-27 11:26:16"
...

$ bupstash put --send-log /var/backup.sendlog ./some-data
ebb66f3baa5d432e9f9a28934888a23d
# پشتیبان‌گیری دوم هنگام خواندن گزارش ارسال بسیار سریع‌تر انجام می‌شود.
$ bupstash put --send-log /var/backup.sendlog ./some-data
ebb66f3baa5d432e9f9a28934888a23d

# بررسی خطاها قبل از ذخیره آیتم جدید.
$ bupstash put --exec name=database.sql pgdump mydatabase
14ebd2073b258b1f55c5bbc889c49db4

$ bupstash get id=bcb8684e6bf5cb453e77486decf61685
some data.

$ bupstash restore --to ./dir name=dir.tar

$ bupstash rm name=some-data.txt

$ bupstash rm --allow-many id=*

$ bupstash gc

# ایجاد یک کلید اصلی، یک کلید فقط-ارسال (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 -

bupstash-repository(7), bupstash-keyfiles(7)

2026-09-01 bupstash