mirror of https://github.com/rocboss/paopao-ce
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
739 B
29 lines
739 B
#!/usr/bin/env sh
|
|
|
|
# This is very simple, yet effective backup rotation script.
|
|
# Using find command, all files that are older than BACKUP_RETENTION_DAYS are accumulated and deleted using rm.
|
|
main() {
|
|
BACKUP_PATH="${1:-}"
|
|
FIND_EXPRESSION="${2:-mtime +7}"
|
|
|
|
if [ -z "${BACKUP_PATH}" ]; then
|
|
echo "Error: Required argument missing BACKUP_PATH" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$(realpath "${BACKUP_PATH}")" = "/" ]; then
|
|
echo "Error: Dangerous BACKUP_PATH: /" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -d "${BACKUP_PATH}" ]; then
|
|
echo "Error: BACKUP_PATH doesn't exist or is not a directory" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
# shellcheck disable=SC2086
|
|
find "${BACKUP_PATH}/" -type f -name "gogs-backup-*.zip" -${FIND_EXPRESSION} -print -exec rm "{}" +
|
|
}
|
|
|
|
main "$@"
|