mirror of https://github.com/ethereum/go-ethereum
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.0 KiB
64 lines
2.0 KiB
6 years ago
|
---
|
||
|
title: Backup & restore
|
||
|
---
|
||
|
**DO NOT FORGET YOUR PASSWORD** and **BACKUP YOUR KEYSTORE**
|
||
|
|
||
|
# Backup & restore
|
||
|
|
||
|
## Data directory
|
||
|
|
||
|
Everything `geth` persists gets written inside its data directory (except for the PoW Ethash DAG, see note below).
|
||
|
The default data directory locations are platform specific:
|
||
|
|
||
|
* Mac: `~/Library/Ethereum`
|
||
|
* Linux: `~/.ethereum`
|
||
|
* Windows: `%APPDATA%\Ethereum`
|
||
|
|
||
|
Accounts are stored in the `keystore` subdirectory. The contents of this directories should be transportable between nodes, platforms, implementations (C++, Go, Python).
|
||
|
|
||
|
To configure the location of the data directory, the `--datadir` parameter can be specified. See [CLI Options](../interface/Command-Line-Options) for more details.
|
||
|
|
||
|
_**Note:** The [Ethash DAG](../how-to/Mining#ethash-dag) is stored at `~/.ethash` (Mac/Linux) or `%APPDATA%\Ethash` (Windows) so that it can be reused by all clients. You can store this in a different location by using a symbolic link._
|
||
|
|
||
|
## Upgrades
|
||
|
|
||
|
Sometimes the internal database formats need updating (for example, when upgrade from before 0.9.20). This can be run with the following command (geth should not be otherwise running):
|
||
|
|
||
|
```
|
||
|
geth upgradedb
|
||
|
```
|
||
|
|
||
|
## Cleanup
|
||
|
|
||
|
Geth's blockchain and state databases can be removed with:
|
||
|
|
||
|
```
|
||
|
geth removedb
|
||
|
```
|
||
|
|
||
|
This is useful for deleting an old chain and sync'ing to a new one. It only affects data directories that can be re-created on synchronisation and does not touch the keystore.
|
||
|
|
||
|
## Blockchain import/export
|
||
|
|
||
|
Export the blockchain in binary format with:
|
||
|
```
|
||
|
geth export <filename>
|
||
|
```
|
||
|
|
||
|
Or if you want to back up portions of the chain over time, a first and last block can be specified. For example, to back up the first epoch:
|
||
|
|
||
|
```
|
||
|
geth export <filename> 0 29999
|
||
|
```
|
||
|
|
||
|
Note that when backing up a partial chain, the file will be appended rather than truncated.
|
||
|
|
||
|
Import binary-format blockchain exports with:
|
||
|
```
|
||
|
geth import <filename>
|
||
|
```
|
||
|
|
||
|
_See https://github.com/ethereum/wiki/wiki/Blockchain-import-export for more info_
|
||
|
|
||
|
|
||
|
And finally: **DO NOT FORGET YOUR PASSWORD** and **BACKUP YOUR KEYSTORE**
|