DO NOT FORGET YOUR PASSWORD and BACKUP YOUR KEYSTORE
Backup & restore
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:
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 for more details.
Note: The 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.
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's blockchain and state databases can be removed with:
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.
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