---
title: "ERPC CLI कमांड"
description: "ERPC CLI के सभी कमांड समूह, global options --json और --lang, error का format और एग्ज़िट कोड, और erpc storage व erpc backup कमांड।"
canonical: "https://erpc.global/hi/doc/erpc-cli/commands/"
locale: "hi"
---

# ERPC CLI कमांड

ERPC CLI के सभी कमांड समूह एक टेबल में, हर कमांड पर काम करने वाले options, और वे एग्ज़िट कोड जिन पर कोई script भरोसा कर सकती है।

यह पेज ERPC CLI `v0.1.0-rc.4` के बारे में है, जो एक प्री-रिलीज़ है।

## कमांड समूह

किसी भी कमांड समूह के verbs की सूची देखने के लिए उसे बिना verb के चलाएँ, जैसे `erpc validator` या `erpc worker`।

| कमांड | यह क्या करता है |
| --- | --- |
| `validator` (`v`), `rpc` (`r`), `node` (`n`) | [Validator और RPC नोड](https://erpc.global/hi/doc/erpc-cli/nodes/) |
| `rpc call` | Shared, custom या x402 endpoint पर एक JSON-RPC request भेजता है ([RPC calls और webhooks](https://erpc.global/hi/doc/erpc-cli/rpc-call-and-webhooks/)) |
| `webhook` | लोकल RPC subscriptions प्रबंधित करता है और इवेंट को एक HTTP callback तक पहुँचाता है |
| `ai`, `resume`, `memory`, `skills` | [ERPC AI](https://erpc.global/hi/doc/erpc-cli/ai/), उसकी सहेजी गई बातचीत, याददाश्त और स्किल्स |
| `worker` (`w`) | सर्वर पर [आपके अपने app](https://erpc.global/hi/doc/erpc-cli/worker-quickstart/) |
| `storage` (`st`), `backup` | ERPC Global Storage और मशीन के बैकअप ([नीचे](https://erpc.global/hi/doc/erpc-cli/commands/#स्टोरेज-और-बैकअप)) |
| `wallet` | Base wallet, जो EURC से ERPC Credit खरीदता है ([wallet से भुगतान करें](https://erpc.global/hi/doc/erpc-cli/ai/#wallet-से-भुगतान-करें)) |
| `signup`, `login`, `logout`, `whoami` | आपका ERPC account ([लॉग इन और keys](https://erpc.global/hi/doc/erpc-cli/sign-in-and-keys/)) |
| `doctor` | बताता है कि यह मशीन आपका session कैसे रखती है |
| `config` | `~/.erpc/config.toml` पढ़ता और बदलता है (केवल public settings)। `erpc config init` comments वाली एक शुरुआती फ़ाइल लिखता है, अगर पहले से कोई फ़ाइल न हो |
| `version` | Version, build और components की जानकारी |
| `completions` | Shell completions बनाता है: `erpc completions zsh`, और bash, fish, powershell और elvish के लिए भी |

## ग्लोबल options

- **`--json`** मशीन से पढ़ा जा सकने वाला output देता है: `erpc --json <command>`। `ERPC_JSON=true` का भी यही असर होता है। नोड कमांड में `--json` को कमांड से पहले लिखना होता है।
- **`--lang`** वह भाषा तय करता है जिसमें erpc बोलता है: `en`, `ja`, `zh` या `ru`। इसके बिना erpc `locale` सेटिंग इस्तेमाल करता है, और वह न हो तो सिस्टम की भाषा।

## Errors और एग्ज़िट कोड

विफलता हर जगह एक जैसी दिखती है: एक `error:` पंक्ति, जो बताती है कि क्या गलत हुआ, और अगर आगे करने को कुछ हो, तो एक `hint:` पंक्ति, जो बताती है कि आगे क्या करना है। `--json` के साथ, विफलता standard output पर एक object होती है, `{"error": {"code", "exit", "message", "hint"}}`। दो मामलों में इसकी जगह clap का अपना संदेश छपता है और एग्ज़िट कोड 2 होता है: टर्मिनल पर ऐसी कमांड लाइन जिसे clap parse नहीं कर सकता, और ऐसा argument जिसे नोड tree (`erpc validator`, `rpc`, `node`) का verb नहीं लेता, `--json` के साथ भी। `details` field केवल तब दिखता है जब किसी कमांड के पास script को यह बताने के लिए और कुछ हो कि विफल होने से पहले उसने क्या किया, और टर्मिनल पर कभी नहीं।

| एग्ज़िट | कोड | अर्थ |
| --- | --- | --- |
| 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 या किसी दूसरी service तक नहीं पहुँचा जा सका |

Ctrl-C (या SIGTERM, SIGHUP) से रोके जाने पर erpc उसी signal से समाप्त होता है, इसलिए script में चल रहा loop भी रुक जाता है। प्रकाशित कोड का नाम और उसका एग्ज़िट कोड वही रहता है, और किसी कोड का दोबारा इस्तेमाल कभी नहीं होता।

## स्टोरेज और बैकअप

```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/hi/price/) पर हैं।

### erpc storage

- `erpc storage put` किसी फ़ाइल का कोई भी हिस्सा भेजे जाने से पहले उसे इसी मशीन पर एन्क्रिप्ट करता है, जब तक `--no-encrypt` न दिया जाए। ERPC केवल एन्क्रिप्टेड bytes रखता है और key कभी अपने पास नहीं रखता। `erpc storage get` एन्क्रिप्टेड फ़ाइल को पहचानकर उसे डिक्रिप्ट करता है।
- हर account के लिए एक स्टोरेज key होती है, जो उस store में रखी जाती है जिसे `erpc login` ने चुना था। erpc इसे Linux kernel keyring में नहीं रखता, जो रीबूट पर मिट जाता है: `--store 1password` या `--store file` के साथ लॉग इन करें, या `--no-encrypt` इस्तेमाल करें। `file` store के साथ key बिना एन्क्रिप्ट किए `~/.erpc/storage-key` (mode 0600) में रहती है। `--no-encrypt` उस फ़ाइल को, जिसे आप भेज रहे हैं, जैसी है वैसी ही, बिना एन्क्रिप्ट किए अपलोड करता है।
- **स्टोरेज key खोने पर उससे एन्क्रिप्ट की गई हर फ़ाइल खो जाती है**, और ERPC उसे वापस नहीं ला सकता। `erpc storage key export --show` key को दिखाता है, ताकि उसकी एक कॉपी मशीन से दूर रखी जा सके, और `erpc storage key import` उसे किसी दूसरी मशीन पर वापस लेता है।
- जिस path के तहत फ़ाइल रखी जाती है, वह path और फ़ाइल का आकार ERPC को दिखाई देते हैं।
- `erpc storage keys list` स्टोरेज की access keys दिखाता है, और `erpc storage keys revoke <n>` उनमें से एक को revoke करता है।

### erpc backup

`erpc backup`, restic से किसी मशीन का बैकअप ERPC Global Storage पर लेता है। फ़ाइलें आपकी मशीन से बाहर जाने से पहले उसी पर एन्क्रिप्ट होती हैं, और ERPC के पास कभी ऐसा पासवर्ड नहीं होता जो बैकअप खोल सके।

| कमांड | यह क्या करता है |
| --- | --- |
| `erpc backup init` | restic इंस्टॉल करता है, access keys और repository बनाता है, और इस मशीन को उसकी अपनी restic key देता है |
| `erpc backup run [paths]` | बैकअप लेता है। Linux पर, कोई path न देने पर, pseudo-filesystems, mounts और volatile paths को छोड़कर `/`। दूसरी जगहों पर paths के नाम दें |
| `erpc backup snapshots` | इस मशीन के स्नैपशॉट; हर मशीन के स्नैपशॉट के लिए `--all-hosts` |
| `erpc backup restore <id\|latest>` | एक नई directory में पुनर्स्थापित करता है, जब तक `--target` कोई दूसरी directory न बताए। `--in-place` पूछने के बाद इसी मशीन की फ़ाइलों के ऊपर लिखता है |
| `erpc backup check` | repository की जाँच करता है और 5% डेटा वापस पढ़ता है |
| `erpc backup prune` | पूछने के बाद, एक मशीन के 7 दैनिक, 4 साप्ताहिक और 6 मासिक स्नैपशॉट रखता है |
| `erpc backup schedule daily\|weekly\|off [paths]` | `run` को टाइमर पर, `--at` में दिए समय पर चलाता है (डिफ़ॉल्ट 03:00) |
| `erpc backup status` | शेड्यूल, और पिछला run कैसे समाप्त हुआ |
| `erpc backup password --show` | repository का मास्टर पासवर्ड दिखाता है, ताकि उसकी एक कॉपी कहीं और रखी जा सके |

- **हर मशीन को एक append-only key मिलती है**, जो उसके अपने बैकअप नहीं मिटा सकती। जिस मशीन पर आपने `erpc backup init` चलाया था, उसके पास वे keys भी होती हैं जो मिटा सकती हैं, इसलिए यह सुरक्षा केवल उसी मशीन पर काम करती है जिस पर न erpc session हो और न account के बैकअप secrets।
- **`erpc backup password --show` की एक कॉपी मशीनों से दूर रखें।** मास्टर पासवर्ड और हर मशीन की `backup.env` खो देने पर बैकअप खो जाते हैं।
- **बैकअप जानी-पहचानी key फ़ाइलों और सिस्टम secrets को छोड़ देता है**, जैसे `.ssh/id_*`, `.config/solana/id.json`, erpc का session और SSH host keys। किसी दूसरे नाम से या किसी दूसरी जगह रखी key सामग्री का बैकअप किसी भी दूसरी फ़ाइल की तरह लिया जाता है: उसे `--exclude` से बाहर रखें।
- erpc, restic 0.19.1 इंस्टॉल करता है और archive व program दोनों को erpc में compile किए गए SHA-256 digests से जाँचता है।
- **शेड्यूलिंग:** Linux पर `sudo erpc backup init`, फिर `sudo erpc backup schedule daily`। macOS पर `erpc backup schedule daily ~/Documents`; job आपके user के रूप में चलता है, जब तक आप लॉग इन हैं।
- बैकअप account के डिफ़ॉल्ट region में जाते हैं। `erpc backup` उसी मशीन पर चलता है जिसका वह बैकअप लेता है; worker के सर्वर को इसकी जगह `erpc worker backup on` से सेट किया जाता है ([App के state का बैकअप लें](https://erpc.global/hi/doc/erpc-cli/worker-status-and-billing/#app-के-state-का-बैकअप-लें))।
