Add initial sqlite3 support

This commit is contained in:
Tom Pansino
2021-02-17 23:55:22 -08:00
parent 30fe2f181c
commit e8a1859d1a
2 changed files with 33 additions and 0 deletions

View File

@@ -30,6 +30,7 @@ RUN set -ex && \
postgresql \
postgresql-client \
redis \
sqlite \
xz \
zstd \
&& \

View File

@@ -60,6 +60,9 @@ case "$dbtype" in
dbport=${DB_PORT:-6379}
[[ ( -n "${DB_PASS}" || ( -n "${DB_PASS_FILE}" ) ) ]] && file_env 'DB_PASS'
;;
"sqlite" | "sqlite3" | "SQLITE" | "SQLITE3" )
dbtype=sqlite3
;;
esac
### Set Defaults
@@ -241,6 +244,22 @@ backup_redis() {
move_backup
}
backup_sqlite3() {
db=$(basename "$dbhost")
db="${db%.*}"
target=sqlite3_${db}_${now}.sqlite3
compression
print_info "Dumping sqlite3 database: ${dbhost}"
sqlite3 "${dbhost}" ".backup '${tmpdir}/backup.sqlite3'"
exit_code=$?
cat "${tmpdir}/backup.sqlite3" | $dumpoutput > "${tmpdir}/${target}"
generate_md5
move_backup
}
check_availability() {
### Set the Database Type
case "$dbtype" in
@@ -309,6 +328,15 @@ check_availability() {
print_warn "Redis Host '${dbhost}' is not accessible, retrying.. ($COUNTER seconds so far)"
done
;;
"sqlite3" )
if [[ ! -e "${dbhost}" ]]; then
print_error "File '${dbhost}' does not exist."
elif [[ ! -f "${dbhost}" ]]; then
print_error "File '${dbhost}' is not a file."
elif [[ ! -r "${dbhost}" ]]; then
print_error "File '${dbhost}' is not readable."
fi
;;
esac
}
@@ -477,6 +505,10 @@ print_debug "Backup routines Initialized on $(date)"
check_availability
backup_redis
;;
"sqlite3" )
check_availability
backup_sqlite3
;;
esac
### Zabbix