23 lines
		
	
	
	
		
			527 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			527 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/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[@]}"
 |