# Säkerhetskopiera dina värddata

När du själv är värd för Bitwarden är du ansvarig för att implementera dina egna säkerhetskopieringsprocedurer för att hålla data säker.

## Om värddata

Bitwardens Docker-containrar använder volymmappning för att bevara all viktig data på värddatorn, vilket innebär att du inte raderar någon data om du stoppar dina containrar. Docker-containrar, å andra sidan, är att betrakta som tillfälliga och behåller inte data eller tillstånd.

All Bitwarden-data lagras på värddatorn i ./bwdata-katalogen`, i` förhållande till den plats där du installerade Bitwarden.

## Säkerhetskopiera värddata

Det rekommenderas att du säkerhetskopierar och förvarar hela` ./bwdata-katalogen`. I händelse av dataförlust behöver du hela eller delar av data som finns i den här katalogen för att återställa din instans.

Särskilt viktiga delar av` ./bwdata` att säkerhetskopiera regelbundet inkluderar:

- `./bwdata/env` - Instansens miljövariabler, inklusive databas- och certifikatlösenord.
- `./bwdata/core/attachments` - Bilagor till instansens valvobjekt.
- `./bwdata/mssql/data` - Instansens databasdata.
- `./bwdata/core/aspnet-dataprotection` - Dataskydd på ramnivå, inklusive autentiseringstokens och vissa databaskolumner.

Bitwarden tar automatiskt nattliga säkerhetskopior av `mssql-databasbehållaren` när den körs.

### Säkerhetskopiering av databas varje natt

Bitwarden tar automatiskt nattliga säkerhetskopior av `mssql-behållardatabasen`. Dessa säkerhetskopior sparas i katalogen ./`bwdata/mssql/backups` i 30 dagar.

I händelse av dataförlust kan du använda` ./bwdata/mssql/backups` för att återställa en nattlig säkerhetskopia.

### Återställ en säkerhetskopiering varje natt

I händelse av dataförlust, slutför följande steg för att återställa en nattlig säkerhetskopia.

1. Hämta ditt databaslösenord från värdet `globalSettings__sqlServer__connectionString=...Password`= som finns i `global.override.env`.
2. Identifiera container-ID för `mssql-behållaren` med kommandot `docker ps`.
3. Kör följande kommando för att öppna en bash-session för din `mssql` docker-behållare:

```
docker exec -it bitwarden-mssql /bin/bash
```

Din kommandotolk bör nu matcha det identifierade container-ID:t för `bitwarden-mssql-behållaren`.
4. Leta reda på säkerhetskopian som du vill återställa i behållaren.

> [!NOTE]
> The backup directory in the container is volume-mapped from the host directory. `./bwdata/mssql/backups` on the host machine maps to `etc/bitwarden/mssql/backups` in the container.

Till exempel är en fil `/etc/bitwarden/mssql/backups/vault_FULL_20201208_003243.BAK` en säkerhetskopia som togs den 8 december 2020 kl. 12:32.
5. Starta verktyget `sqlcmd` med följande kommando:

```bash
/opt/mssql-tools18/bin/sqlcmd -S localhost -U <sa> -P <sa-password> -C
```

där<`sa`> och<`sa-password`> matcha värdena `User=` och `Password=` som finns i `global.override.env`.
6. Väl i `sqlcmd-verktyget` har du två alternativ för säkerhetskopiering:

 1. **Offlineåterställning** (föredraget)

Kör följande SQL-kommandon:

```
1> use master
2> GO
1> alter database vault set offline with rollback immediate
2> GO
1> restore database vault from disk='/etc/bitwarden/mssql/backups/vault_FULL_{Backup File Name}.BAK' with replace
2> GO
​1> alter database vault set online
2> GO
1> exit
```

Starta om din Bitwarden-instans för att slutföra återställningen.
 2. **Online återställning**

Kör följande SQL-kommandon:

```
1> RESTORE DATABASE vault FROM DISK = '/etc/bitwarden/mssql/backups/vault_FULL_20200302_235901.BAK' WITH REPLACE
2> GO
```

Starta om din Bitwarden-instans för att slutföra återställningen.