---
title: "أوامر ERPC CLI"
description: "كل مجموعات أوامر ERPC CLI، والخياران العامّان --json و--lang، وصيغة الأخطاء ورموز الخروج، وأوامر erpc storage وerpc backup."
canonical: "https://erpc.global/ar/doc/erpc-cli/commands/"
locale: "ar"
---

# أوامر ERPC CLI

كل مجموعات أوامر ERPC CLI في جدول واحد، والخيارات التي تعمل مع كل أمر، ورموز الخروج التي يمكن للسكربت الاعتماد عليها.

تصف هذه الصفحة ERPC CLI `v0.1.0-rc.4`، وهو إصدار تمهيدي.

## مجموعات الأوامر

شغّل أي مجموعة أوامر دون أمر فرعي، مثل `erpc validator` أو `erpc worker`، لسرد أوامرها الفرعية.

| الأمر | ما يفعله |
| --- | --- |
| `validator` (`v`), `rpc` (`r`), `node` (`n`) | [المدققون وعُقد RPC](https://erpc.global/ar/doc/erpc-cli/nodes/) |
| `rpc call` | يرسل طلب JSON-RPC واحدًا إلى نقطة نهاية مشتركة أو مخصصة أو عبر x402 ([استدعاءات RPC وwebhooks](https://erpc.global/ar/doc/erpc-cli/rpc-call-and-webhooks/)) |
| `webhook` | يدير اشتراكات RPC المحلية ويسلّم الأحداث إلى عنوان رد استدعاء HTTP |
| `ai`, `resume`, `memory`, `skills` | [ERPC AI](https://erpc.global/ar/doc/erpc-cli/ai/) ومحادثاته المحفوظة وما يتذكره ومهاراته |
| `worker` (`w`) | [تطبيقاتك الخاصة](https://erpc.global/ar/doc/erpc-cli/worker-quickstart/) على خادم |
| `storage` (`st`), `backup` | ERPC Global Storage والنسخ الاحتياطية للأجهزة ([أدناه](https://erpc.global/ar/doc/erpc-cli/commands/#التخزين-والنسخ-الاحتياطية)) |
| `wallet` | محفظة Base التي تشتري ERPC Credit باستخدام EURC ([الدفع من محفظة](https://erpc.global/ar/doc/erpc-cli/ai/#الدفع-من-محفظة)) |
| `signup`, `login`, `logout`, `whoami` | حساب ERPC الخاص بك ([تسجيل الدخول والمفاتيح](https://erpc.global/ar/doc/erpc-cli/sign-in-and-keys/)) |
| `doctor` | يُبلغ عن الطريقة التي يحفظ بها هذا الجهاز جلستك |
| `config` | يقرأ `~/.erpc/config.toml` ويغيّره (الإعدادات العامة فقط). يكتب `erpc config init` ملف بداية مزوَّدًا بالتعليقات، ما لم يكن هناك ملف موجود |
| `version` | معلومات الإصدار والبناء والمكوّنات |
| `completions` | يولّد إكمالات الصدفة: `erpc completions zsh`، وكذلك bash وfish وpowershell وelvish |

## الخيارات العامة

- **`--json`** يعطي مخرجات قابلة للقراءة آليًا: `erpc --json <command>`. وللمتغير `ERPC_JSON=true` التأثير نفسه. في أوامر العُقد، يجب أن يأتي `--json` قبل الأمر.
- **`--lang`** يحدد اللغة التي يتحدث بها erpc: `en` أو `ja` أو `zh` أو `ru`. وبدونه يستخدم erpc الإعداد `locale`، وإلا فلغة النظام.

## الأخطاء ورموز الخروج

يبدو الفشل بالشكل نفسه في كل مكان: سطر `error:` يذكر ما الذي حدث من خطأ، وسطر `hint:` يذكر ما يجب فعله بعد ذلك، إن وُجد. مع `--json`، يكون الفشل كائنًا واحدًا على المخرج القياسي، `{"error": {"code", "exit", "message", "hint"}}`. وفي حالتين تُطبع رسالة clap الخاصة به بدلًا من ذلك ويكون الخروج بالرمز 2: سطر أوامر لا يستطيع clap تحليله في الطرفية، ووسيطة لا يقبلها الأمر الفرعي في شجرة أوامر العُقد (`erpc validator` و`rpc` و`node`)، حتى مع `--json`. ولا يظهر الحقل `details` إلا عندما يكون لدى الأمر ما يضيفه للسكربت عمّا فعله قبل أن يفشل، ولا يظهر أبدًا في الطرفية.

| الخروج | الرمز | المعنى |
| --- | --- | --- |
| 0 | | نجح الأمر |
| 1 | `failed` | تعذّر عليه تنفيذ المطلوب |
| 2 | `usage` | سطر الأوامر غير قابل للاستخدام |
| 3 | `needs_terminal` | يجب أن يجيب شخص: مرّر `--yes` أو شغّله في الطرفية |
| 4 | `not_signed_in` | شغّل `erpc login` |
| 5 | `problems_found` | وجد فحصٌ (`status`، `doctor`) مشكلات، ويذكر تقريره ما هي |
| 6 | `declined` | أجبتَ بالرفض، ولم يُغيَّر شيء |
| 7 | `network` | تعذّر الوصول إلى ERPC أو إلى خدمة أخرى |

عند إيقافه بـ Ctrl-C (أو SIGTERM أو SIGHUP)، ينتهي erpc بالإشارة نفسها، فتتوقف أيضًا أي حلقة في السكربت. ويحتفظ الرمز المنشور باسمه وبرمز الخروج الخاص به، ولا يُعاد استخدام أي رمز أبدًا.

## التخزين والنسخ الاحتياطية

```bash
erpc storage buy 5        # an ERPC Global Storage plan
erpc backup init          # back this machine up with restic, on a schedule if you like
```

يشتري `erpc storage buy` خطة ERPC Global Storage، ويُدفع ثمنها من ERPC Credit. تجد الخطط والأسعار في صفحة [الأسعار](https://erpc.global/ar/price/).

### erpc storage

- يشفّر `erpc storage put` الملف على هذا الجهاز قبل إرسال أي جزء منه، ما لم يُمرَّر `--no-encrypt`. لا يخزّن ERPC سوى البايتات المشفرة، ولا يحتفظ بالمفتاح أبدًا. ويتعرّف `erpc storage get` على الملف المشفر ويفك تشفيره.
- يوجد مفتاح تخزين واحد لكل حساب، ويُحفظ في مكان الحفظ الذي اختاره `erpc login`. لا يحتفظ به erpc في حلقة مفاتيح نواة Linux، التي تُفقد عند إعادة تشغيل الجهاز: سجّل الدخول باستخدام `--store 1password` أو `--store file`، أو استخدم `--no-encrypt`. ومع مكان الحفظ `file`، يوجد المفتاح في `~/.erpc/storage-key` (الوضع 0600) غير مشفّر. ويرفع `--no-encrypt` الملفَّ الذي ترسله كما هو، دون تشفير.
- **فقدان مفتاح التخزين يعني فقدان كل ملف شُفِّر به**، ولا يستطيع ERPC استعادته. يطبع `erpc storage key export --show` المفتاح حتى يمكن الاحتفاظ بنسخة منه بعيدًا عن الجهاز، ويعيده `erpc storage key import` على جهاز آخر.
- المسار الذي يُخزَّن تحته الملف، وحجمه، مرئيان لـ ERPC.
- يعرض `erpc storage keys list` مفاتيح الوصول إلى التخزين، ويُبطل `erpc storage keys revoke <n>` واحدًا منها.

### erpc backup

ينسخ `erpc backup` الجهاز احتياطيًا إلى ERPC Global Storage باستخدام restic. تُشفَّر الملفات على جهازك قبل أن تغادره، ولا يحتفظ ERPC أبدًا بكلمة مرور تفتح النسخ الاحتياطية.

| الأمر | ما يفعله |
| --- | --- |
| `erpc backup init` | يثبّت restic، وينشئ مفاتيح الوصول والمستودع، ويمنح هذا الجهاز مفتاح restic خاصًا به |
| `erpc backup run [paths]` | ينفّذ النسخ الاحتياطي. على Linux، ودون مسارات، ينسخ `/` باستثناء أنظمة الملفات الزائفة ونقاط التركيب والمسارات المتطايرة. وفي غيره، حدّد المسارات |
| `erpc backup snapshots` | لقطات هذا الجهاز؛ و`--all-hosts` للقطات كل الأجهزة |
| `erpc backup restore <id\|latest>` | يستعيد إلى مجلد جديد ما لم يحدد `--target` مجلدًا آخر. يكتب `--in-place` فوق هذا الجهاز، بعد السؤال |
| `erpc backup check` | يفحص المستودع ويعيد قراءة 5% من البيانات |
| `erpc backup prune` | يحتفظ بـ 7 لقطات يومية و4 أسبوعية و6 شهرية لجهاز واحد، بعد السؤال |
| `erpc backup schedule daily\|weekly\|off [paths]` | يشغّل `run` بمؤقِّت، في الوقت المحدد بـ `--at` (الافتراضي 03:00) |
| `erpc backup status` | الجدول الزمني، وكيف انتهى آخر تشغيل |
| `erpc backup password --show` | يطبع كلمة المرور الرئيسية للمستودع، للاحتفاظ بنسخة منها في مكان آخر |

- **يحصل كل جهاز على مفتاح للإلحاق فقط** لا يستطيع حذف نسخه الاحتياطية. أما الجهاز الذي شغّلت عليه `erpc backup init` فيحتفظ أيضًا بالمفاتيح التي تستطيع ذلك، لذا لا تصمد هذه الحماية إلا على جهاز لا يحتفظ بجلسة erpc ولا بأسرار النسخ الاحتياطي الخاصة بالحساب.
- **احتفظ بنسخة من `erpc backup password --show` بعيدًا عن الأجهزة.** فقدان كلمة المرور الرئيسية وملفات `backup.env` لجميع الأجهزة يعني فقدان النسخ الاحتياطية.
- **يستبعد النسخ الاحتياطي ملفات المفاتيح المعروفة وأسرار النظام**، مثل `.ssh/id_*` و`.config/solana/id.json` وجلسة erpc ومفاتيح مضيف SSH. أما مادة المفاتيح التي تحمل اسمًا آخر أو توجد في مكان آخر فتُنسخ احتياطيًا مثل أي ملف آخر: استبعدها باستخدام `--exclude`.
- يثبّت erpc الإصدار 0.19.1 من restic، ويتحقق من الأرشيف ومن البرنامج كليهما مقابل ملخصات SHA-256 المضمَّنة في erpc عند بنائه.
- **الجدولة:** على Linux، شغّل `sudo erpc backup init`، ثم `sudo erpc backup schedule daily`. وعلى macOS، `erpc backup schedule daily ~/Documents`؛ وتعمل المهمة باسمك، ما دمت مسجّل الدخول.
- تذهب النسخ الاحتياطية إلى المنطقة الافتراضية للحساب. يعمل `erpc backup` على الجهاز الذي ينسخه احتياطيًا؛ أما خادم الـ worker فيُعدّ باستخدام `erpc worker backup on` بدلًا من ذلك ([النسخ الاحتياطي لبيانات حالة التطبيق](https://erpc.global/ar/doc/erpc-cli/worker-status-and-billing/#النسخ-الاحتياطي-لبيانات-حالة-التطبيق)).
