30 lines
608 B
Text
30 lines
608 B
Text
|
#!/bin/bash
|
||
|
|
||
|
restoreDir=/etc/restore
|
||
|
vaultwardenDir="$restoreDir/vaultwarden"
|
||
|
|
||
|
|
||
|
hook_check() {
|
||
|
if [[ -d "$vaultwardenDir" ]]; then
|
||
|
rm -rf "$vaultwardenDir" || exit 1
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
hook_pre() {
|
||
|
backupDate=$(date +"%Y-%m-%d")
|
||
|
vaultwardenHome=$(getent passwd vaultwarden | cut -f6 -d:)
|
||
|
|
||
|
mkdir -p "$vaultwardenDir"
|
||
|
sqlite3 "${vaultwardenHome}/data/db.sqlite3" ".backup '${vaultwardenDir}/db-${backupDate}.sqlite3'"
|
||
|
}
|
||
|
|
||
|
hook_post() {
|
||
|
rm -rf "$vaultwardenDir" || exit 1
|
||
|
}
|
||
|
|
||
|
case "$1" in
|
||
|
before_check) hook_check;;
|
||
|
before_backup) hook_pre;;
|
||
|
after_backup) hook_post;;
|
||
|
esac
|