mirror of
https://github.com/bitwarden/server.git
synced 2025-02-16 01:51:21 +01:00
sql backups
This commit is contained in:
parent
371942e3e2
commit
2cfea467d1
@ -3,7 +3,8 @@ version: '3'
|
|||||||
services:
|
services:
|
||||||
mssql:
|
mssql:
|
||||||
volumes:
|
volumes:
|
||||||
- ../mssql_data:/var/opt/mssql/data
|
- ../mssql/data:/var/opt/mssql/data
|
||||||
|
- ../mssql/backups:/etc/bitwarden/mssql/backups
|
||||||
env_file:
|
env_file:
|
||||||
- mssql.env
|
- mssql.env
|
||||||
- ../env/mssql.override.env
|
- ../env/mssql.override.env
|
||||||
|
@ -4,6 +4,7 @@ services:
|
|||||||
mssql:
|
mssql:
|
||||||
volumes:
|
volumes:
|
||||||
- mssql_data:/var/opt/mssql/data
|
- mssql_data:/var/opt/mssql/data
|
||||||
|
- ../mssql/backups:/etc/bitwarden/mssql/backups
|
||||||
env_file:
|
env_file:
|
||||||
- mssql.env
|
- mssql.env
|
||||||
- ../env/mssql.override.env
|
- ../env/mssql.override.env
|
||||||
|
@ -8,6 +8,8 @@ param (
|
|||||||
[string] $output = ""
|
[string] $output = ""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
$year = (Get-Date).year
|
||||||
|
|
||||||
Write-Host @'
|
Write-Host @'
|
||||||
_ _ _ _
|
_ _ _ _
|
||||||
| |__ (_) |___ ____ _ _ __ __| | ___ _ __
|
| |__ (_) |___ ____ _ _ __ __| | ___ _ __
|
||||||
@ -18,7 +20,7 @@ Write-Host @'
|
|||||||
|
|
||||||
Write-Host "
|
Write-Host "
|
||||||
Open source password management solutions
|
Open source password management solutions
|
||||||
Copyright 2015-${(Get-Date).year}, 8bit Solutions LLC
|
Copyright 2015-${year}, 8bit Solutions LLC
|
||||||
https://bitwarden.com, https://github.com/bitwarden
|
https://bitwarden.com, https://github.com/bitwarden
|
||||||
"
|
"
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
*
|
*
|
||||||
!entrypoint.sh
|
!entrypoint.sh
|
||||||
!setup.sql
|
!backup-db.sh
|
||||||
!setup.sh
|
!backup-db.sql
|
||||||
|
!crontab
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
FROM microsoft/mssql-server-linux
|
FROM microsoft/mssql-server-linux
|
||||||
|
|
||||||
COPY setup.sql /
|
RUN apt-get update \
|
||||||
COPY setup.sh /
|
&& apt-get install -y --no-install-recommends \
|
||||||
RUN chmod +x /setup.sh
|
cron \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
COPY crontab /etc/cron.d/bitwarden-cron
|
||||||
|
RUN chmod 0644 /etc/cron.d/bitwarden-cron \
|
||||||
|
&& touch /var/log/cron.log
|
||||||
|
|
||||||
|
COPY backup-db.sql /
|
||||||
|
COPY backup-db.sh /
|
||||||
|
RUN chmod +x /backup-db.sh
|
||||||
|
|
||||||
COPY entrypoint.sh /
|
COPY entrypoint.sh /
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
sleep 60s
|
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -i /backup-db.sql
|
||||||
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -i /setup.sql
|
|
13
util/MsSql/backup-db.sql
Normal file
13
util/MsSql/backup-db.sql
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
DECLARE @TheDate NVARCHAR(20)
|
||||||
|
SET @TheDate = REPLACE(CONVERT(VARCHAR, GETDATE(),101),'/','') + '_' + REPLACE(CONVERT(VARCHAR, GETDATE(),108),':','')
|
||||||
|
|
||||||
|
DECLARE @BackupFile varchar(100)
|
||||||
|
SET @BackupFile = '/etc/bitwarden/mssql/backups/vault_FULL_'+ @TheDate + '.BAK'
|
||||||
|
|
||||||
|
DECLARE @BackupName varchar(100)
|
||||||
|
SET @BackupName = 'vault full backup for '+ @TheDate
|
||||||
|
|
||||||
|
DECLARE @BackupCommand NVARCHAR(1000)
|
||||||
|
SET @BackupCommand = 'BACKUP DATABASE [vault] TO DISK = ''' + @BackupFile + ''' WITH INIT, NAME= ''' + @BackupName + ''', NOSKIP, NOFORMAT'
|
||||||
|
|
||||||
|
EXEC(@BackupCommand)
|
3
util/MsSql/crontab
Normal file
3
util/MsSql/crontab
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
0 0 * * * root /backup-db.sh >> /var/log/cron.log 2>&1
|
||||||
|
|
||||||
|
# An empty line is required at the end of this file for a valid cron file.
|
@ -1,4 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
/setup.sh &
|
env >> /etc/environment
|
||||||
|
cron
|
||||||
/opt/mssql/bin/sqlservr
|
/opt/mssql/bin/sqlservr
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
USE [master]
|
|
||||||
IF ((SELECT COUNT(1) FROM sys.databases WHERE [name] = 'vault') = 0)
|
|
||||||
BEGIN
|
|
||||||
CREATE DATABASE [vault]
|
|
||||||
END
|
|
||||||
GO
|
|
Loading…
Reference in New Issue
Block a user