24 lines
527 B
Text
24 lines
527 B
Text
|
#!/usr/bin/bash
|
||
|
#
|
||
|
# Backup and remove all student home directories.
|
||
|
|
||
|
set -eu
|
||
|
|
||
|
HDIRS='/home/'
|
||
|
DIRS=()
|
||
|
|
||
|
for DIR in $(find $HDIRS -maxdepth 1 -mindepth 1 -type d) ; do
|
||
|
H="$(basename $DIR)"
|
||
|
if [[ "$H" =~ ^L_ ]] || [[ "$H" =~ ansible ]] ; then
|
||
|
echo "Skipping home of '$H'."
|
||
|
continue
|
||
|
fi
|
||
|
DIRS+=("$DIR")
|
||
|
done
|
||
|
[[ "${#DIRS[@]}" -eq 0 ]] && exit 0
|
||
|
|
||
|
AR="homes_$(date -I).tar.gz"
|
||
|
tar czf "$AR" -C "$HDIRS" --exclude='.[^/]*' \
|
||
|
-P --transform="s%$HDIRS%%" "${DIRS[@]}"
|
||
|
echo "Create archive $AR containing: ${DIRS[@]}"
|