Initial commit - forked from the corresponding Smartfront repositories.
This commit is contained in:
63
tools/maintenance_daily
Executable file
63
tools/maintenance_daily
Executable file
@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Maintenance operations at once a day.
|
||||
# This script called usually by the cron (but indirectly).
|
||||
#
|
||||
# Uses the rotate_folder utility which must be available on path.
|
||||
# Uses the acme wrapper script which have to exist in same folder
|
||||
# as this script.
|
||||
#
|
||||
# Author: Kovács Zoltán <kovacs.zoltan@smartfront.hu>
|
||||
# Kovács Zoltán <kovacsz@marcusconsulting.hu>
|
||||
# License: GNU/GPL v3+ (https://www.gnu.org/licenses/gpl-3.0.en.html)
|
||||
# 2023-06-18 v1.0
|
||||
# new: forked from the "Smartfront's DOCKER_skeleton" repository.
|
||||
# 2021-09-14 v0.2
|
||||
# add: Checks the SSL web certificate (if any), renews it if necessary.
|
||||
# 2021-09-01 v0.1 Initial release
|
||||
|
||||
# Checks the components.
|
||||
[[ -z "$(which dirname)" ]] && exit 1
|
||||
[[ -z "$(which readlink)" ]] && exit 1
|
||||
[[ -z "$(which xargs)" ]] && exit 1
|
||||
|
||||
# Where I'm?
|
||||
SCRPATH="$( cd -P "$( "$(which dirname)" "$0" )" && echo "$PWD" )"
|
||||
|
||||
# Checks the SSL web certificate, renews it if necessery.
|
||||
#
|
||||
# Uses the acme wrapper script located in the same directory.
|
||||
ACME="$SCRPATH/acme"
|
||||
ACMELOG="$($(which dirname) "$SCRPATH")/logs/web/acme.log"
|
||||
if [ -n "$ACME" -a -x "$ACME" ]; then
|
||||
"$ACME" --cron >> "$ACMELOG" 2>&1
|
||||
fi
|
||||
# Done with the certificate.
|
||||
|
||||
# Daily backup operations.
|
||||
#
|
||||
# Launches the backup script.
|
||||
[[ -x "$SCRPATH/backup" ]] && "$SCRPATH/backup"
|
||||
# Done with backups.
|
||||
|
||||
# Rotates the backup folders.
|
||||
#
|
||||
# Enumerates the folders and tries to rotate they content.
|
||||
BACKUPSROOT="$("$(which dirname)" "$SCRPATH")/storage/backups" #"
|
||||
for folder in $(ls -1 "$BACKUPSROOT" 2>/dev/null | $(which xargs) -0 ) ""
|
||||
do
|
||||
if [ -n "$folder" ]; then
|
||||
# Dereferenced absolute path.
|
||||
folder="$("$(which readlink)" -e "$BACKUPSROOT/$folder")" #"
|
||||
# Does it a folder with a prepared configuration?
|
||||
if [ -d "$folder" -a -r "$folder/.rotate_folder.conf" ]; then
|
||||
# Does the rotate job.
|
||||
if [ -x "$SCRPATH/rotate_folder" ]; then
|
||||
"$SCRPATH/rotate_folder" -f "$folder" >/dev/null
|
||||
elif [ -x "$(which rotate_folder)" ]; then
|
||||
"$(which rotate_folder)" -f "$folder" >/dev/null
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
# Done with rotating.
|
Reference in New Issue
Block a user