# Snapshot Restore ## Quick steps for testing ### File system 1. Add the file system path you want to use to elasticsearch.yml or as part of starting up ES. Note that this path should point to a directory that exists. ``` path: repo: /tmp/es-backups ``` or ``` yarn es snapshot --license=trial -E path.repo=/tmp/es-backups ``` 2. Use Console or UI to add a repository. Use the file system path above as the `location` setting: ``` PUT /_snapshot/my_backup { "type": "fs", "settings": { "location": "/tmp/es-backups", "chunk_size": "10mb" } } ``` 3. Adjust `settings` as necessary, all available settings can be found in docs: https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html#_shared_file_system_repository ### Readonly Readonly repositories only take `url` setting. Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html#_read_only_url_repository It's easy to set up a `file:` url: ``` PUT _snapshot/my_readonly_repository { "type": "url", "settings": { "url": "file:///tmp/es-backups" } } ``` ### Source only Source only repositories are special in that they are basically a wrapper around another repository type. Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html#_source_only_repository This means that the settings that are available depends on the `delegate_type` parameter. For example, this source only repository delegates to `fs` (file system) type, so all file system rules and available settings apply: ``` PUT _snapshot/my_src_only_repository { "type" : "source", "settings" : { "delegate_type" : "fs", "location" : "/tmp/es-backups" } } ``` ### Plugin-based repositories: There are four official repository plugins available: S3, GCS, HDFS, Azure. Available plugin repository settings can be found in the docs: https://www.elastic.co/guide/en/elasticsearch/plugins/master/repository.html. To run ES with plugins: 1. Run `yarn es snapshot` from the Kibana directory like normal, then exit out of process. 2. `cd .es/8.0.0` 3. `bin/elasticsearch-plugin install https://snapshots.elastic.co/downloads/elasticsearch-plugins/repository-s3/repository-s3-8.0.0-SNAPSHOT.zip` 4. Repeat step 3 for additional plugins, replacing occurrences of `repository-s3` with the plugin you want to install. 5. Run `bin/elasticsearch` from the `.es/8.0.0` directory. Otherwise, starting ES with `yarn es snapshot` would overwrite the plugins you just installed.