adding facldump
This commit is contained in:
parent
1c081c603c
commit
2b9a225efc
1 changed files with 65 additions and 0 deletions
65
shell/facldump.sh
Executable file
65
shell/facldump.sh
Executable file
|
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "2 Parameters required: SRCDIR and LOGBASE."
|
||||
echo " Example: $0 /opt/work WORKfacldump"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# starting tree of the filesystem to dump ACLs
|
||||
SRCDIR=$1
|
||||
# base filename to prepend in /var/log/facldump
|
||||
LOGBASE=$2
|
||||
|
||||
if [ ! -d "${SRCDIR}" ]; then
|
||||
echo "${SRCDIR} does not exist! Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# some changes here could affect code, take care
|
||||
LOGDIR=/var/log/facldump
|
||||
DURATION_KEEP=28
|
||||
DSPEC="+%Y%m%d_%H%M"
|
||||
CEXT=gz
|
||||
|
||||
# avoid aliases, bad PATH, etc.
|
||||
DT=/bin/date
|
||||
GF=/usr/bin/getfacl
|
||||
GZ=/bin/gzip
|
||||
RM=/bin/rm
|
||||
MK=/usr/bin/mkdir
|
||||
|
||||
# get our date/timestamp cutoff for cleanup
|
||||
DATE_KEEP=$($DT --date "now - $DURATION_KEEP days" +"%Y%m%d")
|
||||
# get our date/timespec to name new files
|
||||
DATE_SAVE=$($DT $DSPEC)
|
||||
# get the length of the above + . + extension (20130209_1106.gz = 16 e.g.)
|
||||
TLEN=$((${#DATE_SAVE}+${#CEXT}+1))
|
||||
|
||||
# cleanup older than DURATION_KEEP by comparing the YYYMMDD in the filename
|
||||
# to the YYYYMMDD of the DATE_KEEP generated above
|
||||
cleanup_older (){
|
||||
for logfile in "${LOGDIR}/${LOGBASE}."*; do
|
||||
TLEN=${#logfile}
|
||||
DTS=${logfile:(-$TLEN):8}
|
||||
# shellcheck disable=SC2086
|
||||
if [ $DTS -lt $DATE_KEEP ]; then
|
||||
${RM} -f "${logfile}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
create_dump (){
|
||||
${GF} -R -p "${SRCDIR}" | ${GZ} --fast > "${LOGDIR}/${LOGBASE}.$(date $DSPEC).${CEXT}"
|
||||
}
|
||||
|
||||
if [ ! -d "${LOGDIR}" ]; then
|
||||
${MK} -p "${LOGDIR}"
|
||||
fi
|
||||
|
||||
create_dump
|
||||
cleanup_older
|
||||
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue