Compare commits

...

3 Commits

Author SHA1 Message Date
d8ffc99fdd
add restic hook for gitea 2019-12-27 00:05:28 -06:00
91bd92045e
restic script fixes 2019-12-27 00:04:59 -06:00
27e305a6ec
add p7zip and unzip 2019-12-27 00:03:29 -06:00
4 changed files with 67 additions and 0 deletions

View 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 "$@"

View File

@ -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

View File

@ -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"

View File

@ -26,6 +26,10 @@ util_packages:
misc: misc:
- tmux - tmux
- moreutils - moreutils
utils:
- unzip
- p7zip
- p7zip-full
security: security:
- gnupg - gnupg
- pass - pass