Compare commits
3 Commits
e44e06594e
...
d8ffc99fdd
Author | SHA1 | Date | |
---|---|---|---|
d8ffc99fdd | |||
91bd92045e | |||
27e305a6ec |
49
roles/restic/files/hooks/gitea.sh
Normal file
49
roles/restic/files/hooks/gitea.sh
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
PATH="$PATH:/usr/local/bin:/usr/sbin:/sbin"
|
||||||
|
|
||||||
|
GITEA_USER=${GITEA_USER:-git}
|
||||||
|
GITEA_CONFIG=${GITEA_CONFIG:-/etc/gitea/app.ini}
|
||||||
|
GITEA_WORK_PATH=${GITEA_WORK_PATH:-/var/lib/gitea}
|
||||||
|
GITEA_CUSTOM_PATH=${GITEA_CUSTOM_PATH:-$GITEA_WORK_PATH/custom}
|
||||||
|
GITEA_BACKUP_PATH=${GITEA_BACKUP_PATH:-$GITEA_WORK_PATH/backup}
|
||||||
|
GITEA_KEEP_DAYS=${GITEA_KEEP_DAYS:-7}
|
||||||
|
|
||||||
|
prereq() {
|
||||||
|
if ! systemctl list-units --full --all | grep -Fq "gitea.service"; then
|
||||||
|
printf "gitea.service unit does not exit\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( EUID != 0 )); then
|
||||||
|
printf "must be run as root\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
prereq
|
||||||
|
|
||||||
|
if [ "$1" == "pre" ]; then
|
||||||
|
pushd "$GITEA_BACKUP_PATH" > /dev/null || printf "could not chdir to %s\n" "$GITEA_BACKUP_PATH"
|
||||||
|
printf "gitea dump started\n"
|
||||||
|
runuser -u "$GITEA_USER" -- \
|
||||||
|
gitea dump \
|
||||||
|
--config "$GITEA_CONFIG" \
|
||||||
|
--work-path "$GITEA_WORK_PATH" \
|
||||||
|
--custom-path "$GITEA_CUSTOM_PATH" > /dev/null
|
||||||
|
printf "gitea dump complete\n"
|
||||||
|
popd > /dev/null || printf "could not chdir to %s\n" "$OLDPWD"
|
||||||
|
elif [ "$1" == "post" ]; then
|
||||||
|
printf "purging gitea backups\n"
|
||||||
|
find "$GITEA_BACKUP_PATH" \
|
||||||
|
-type f \
|
||||||
|
-name '*.zip' \
|
||||||
|
-mtime "+$GITEA_KEEP_DAYS" \
|
||||||
|
-delete
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
@ -1,10 +1,20 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
SERVICE=minecraft.service
|
SERVICE=minecraft.service
|
||||||
VAR_DIR=/opt/minecraft/var
|
VAR_DIR=/opt/minecraft/var
|
||||||
WAIT=30
|
WAIT=30
|
||||||
VERBOSE=${VERBOSE:-4}
|
VERBOSE=${VERBOSE:-4}
|
||||||
|
|
||||||
|
prereq() {
|
||||||
|
local service=$1
|
||||||
|
if ! systemctl list-units --full --all | grep -Fq "$service"; then
|
||||||
|
printf "%s unit does not exit\n" "$service"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
error_exit() {
|
error_exit() {
|
||||||
printf "%s\n" "$1" >&2
|
printf "%s\n" "$1" >&2
|
||||||
exit 1
|
exit 1
|
||||||
@ -75,6 +85,8 @@ open_files() {
|
|||||||
|
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
prereq "$SERVICE"
|
||||||
|
|
||||||
if [ "$1" == "pre" ]; then
|
if [ "$1" == "pre" ]; then
|
||||||
printf "stopping %s\n" $SERVICE
|
printf "stopping %s\n" $SERVICE
|
||||||
if ! stop_server $SERVICE; then
|
if ! stop_server $SERVICE; then
|
||||||
|
@ -64,6 +64,7 @@ counter=0
|
|||||||
sleep=1
|
sleep=1
|
||||||
rc=1
|
rc=1
|
||||||
|
|
||||||
|
printf "restic started\n"
|
||||||
until [ $counter -eq "$MAX_ATTEMPTS" ] || [ $rc -eq 0 ]; do
|
until [ $counter -eq "$MAX_ATTEMPTS" ] || [ $rc -eq 0 ]; do
|
||||||
if [ -r "$EXCLUDE_PATH" ]; then
|
if [ -r "$EXCLUDE_PATH" ]; then
|
||||||
$NICE "$RESTIC_PATH" backup -q --exclude-file="${EXCLUDE_PATH}" "${PATHS}"
|
$NICE "$RESTIC_PATH" backup -q --exclude-file="${EXCLUDE_PATH}" "${PATHS}"
|
||||||
@ -81,6 +82,7 @@ until [ $counter -eq "$MAX_ATTEMPTS" ] || [ $rc -eq 0 ]; do
|
|||||||
|
|
||||||
(( counter++ ))
|
(( counter++ ))
|
||||||
done
|
done
|
||||||
|
printf "restic complete\n"
|
||||||
|
|
||||||
if [ $rc -ne 0 ] && [ $counter -eq "$MAX_ATTEMPTS" ]; then
|
if [ $rc -ne 0 ] && [ $counter -eq "$MAX_ATTEMPTS" ]; then
|
||||||
printf "restic job timed out, exiting\n"
|
printf "restic job timed out, exiting\n"
|
||||||
|
@ -26,6 +26,10 @@ util_packages:
|
|||||||
misc:
|
misc:
|
||||||
- tmux
|
- tmux
|
||||||
- moreutils
|
- moreutils
|
||||||
|
utils:
|
||||||
|
- unzip
|
||||||
|
- p7zip
|
||||||
|
- p7zip-full
|
||||||
security:
|
security:
|
||||||
- gnupg
|
- gnupg
|
||||||
- pass
|
- pass
|
||||||
|
Loading…
Reference in New Issue
Block a user