diff --git a/helper-scripts/Readme.md b/helper-scripts/Readme.md new file mode 100644 index 0000000..2acbeb5 --- /dev/null +++ b/helper-scripts/Readme.md @@ -0,0 +1,3 @@ +# Helper Scripts + +These are some pre-written pre/post backup/restore scripts that can be used for some common usecases. Eg. Backing up a SQLite database. diff --git a/helper-scripts/sqlite-scripts/Dockerfile b/helper-scripts/sqlite-scripts/Dockerfile new file mode 100644 index 0000000..847c9ed --- /dev/null +++ b/helper-scripts/sqlite-scripts/Dockerfile @@ -0,0 +1,15 @@ +FROM vividboarder/docker-duplicity-cron +MAINTAINER ViViDboarder + +# Install SQLite +RUN apt-get update \ + && apt-get install -y --no-install-recommends sqlite3 \ + && apt-get clean \ + && rm -rf /var/apt/lists/* + +# Copy SQLite backup scripts +COPY ./backup /scripts/backup +COPY ./restore /scripts/restore + +# Env that points to sqlite db +ENV DB_PATH /data/db.sqlite3 diff --git a/helper-scripts/sqlite-scripts/Readme.md b/helper-scripts/sqlite-scripts/Readme.md new file mode 100644 index 0000000..885754b --- /dev/null +++ b/helper-scripts/sqlite-scripts/Readme.md @@ -0,0 +1,3 @@ +# SQLite Backup Scripts + +Add these to your image and then set an env variable `$DB_PATH` that points to the database file you wish to backup. This will use the proper SQLite backup command for backups. diff --git a/helper-scripts/sqlite-scripts/backup/after/post-backup.sh b/helper-scripts/sqlite-scripts/backup/after/post-backup.sh new file mode 100755 index 0000000..ff58dea --- /dev/null +++ b/helper-scripts/sqlite-scripts/backup/after/post-backup.sh @@ -0,0 +1,6 @@ +set -e + +cd /data + +# Remove backed up copy +rm "$DB_PATH.bak" diff --git a/helper-scripts/sqlite-scripts/backup/before/pre-backup.sh b/helper-scripts/sqlite-scripts/backup/before/pre-backup.sh new file mode 100755 index 0000000..39a569f --- /dev/null +++ b/helper-scripts/sqlite-scripts/backup/before/pre-backup.sh @@ -0,0 +1,6 @@ +set -e + +cd /data + +# Dump the SQLite database +sqlite3 "$DB_PATH" ".backup $DB_PATH.bak" diff --git a/helper-scripts/sqlite-scripts/restore/after/post-restore.sh b/helper-scripts/sqlite-scripts/restore/after/post-restore.sh new file mode 100755 index 0000000..65f246e --- /dev/null +++ b/helper-scripts/sqlite-scripts/restore/after/post-restore.sh @@ -0,0 +1,6 @@ +set -e + +cd /data + +# Restore the backedup database +mv "$DB_PATH.bak" "$DB_PATH" diff --git a/helper-scripts/sqlite-scripts/restore/before/pre-restore.sh b/helper-scripts/sqlite-scripts/restore/before/pre-restore.sh new file mode 100755 index 0000000..ea3e3e4 --- /dev/null +++ b/helper-scripts/sqlite-scripts/restore/before/pre-restore.sh @@ -0,0 +1,3 @@ +set -e + +# Don't really need to do anything here