add remove script
This commit is contained in:
parent
afac5c8d3c
commit
b242f91dab
|
@ -0,0 +1,88 @@
|
|||
main () {
|
||||
CONF_FILE="$PWD/_deploy.conf"
|
||||
[ -f "$CONF_FILE" ] && . "$CONF_FILE"
|
||||
|
||||
file=${VMS}/$1
|
||||
|
||||
if [ -f "$file" ]; then
|
||||
echo "reading $file"
|
||||
. "$file"
|
||||
backup_image "$file"
|
||||
remove_user "$file"
|
||||
move_file "$file"
|
||||
else
|
||||
echo "ERROR file doesn't exist: ${file}"
|
||||
fi
|
||||
}
|
||||
|
||||
check_instance() {
|
||||
# Check if the instance name exists, otherwise return filename as VM.
|
||||
# Takes vm*.txt and instance
|
||||
# prints either filename or instance variable
|
||||
if test -z "$2"
|
||||
then echo "$1" | sed "s@^$VMS@@;s@^/@@;s/\\.txt$//"
|
||||
else echo "$2"
|
||||
fi
|
||||
}
|
||||
|
||||
check_owner() {
|
||||
# Check if the owner name exists, otherwise returns username.
|
||||
# Takes username and owner
|
||||
# prints either owner or username
|
||||
if test -z "$2"
|
||||
then echo "$1"
|
||||
else echo "$2"
|
||||
fi
|
||||
}
|
||||
|
||||
check_format() {
|
||||
# Check if the image format exists, otherwise returns img.
|
||||
# Takes format
|
||||
# prints either format or img
|
||||
if test -z "$1"
|
||||
then echo "${FORMAT}"
|
||||
else echo "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
backup_image() {
|
||||
filename=$1
|
||||
_instance=$(check_instance "$filename" "$instance")
|
||||
_format=$(check_format "$format")
|
||||
if [ -f "${IMAGES}/${_instance}.${_format}" ]; then
|
||||
mv ${IMAGES}/${_instance}.${_format} ${IMAGES}/${_instance}.${_format}-backup
|
||||
echo "vmm(4)/vmd(8) files moved: ${IMAGES}/${_instance}.${_format} ${IMAGES}/${_instance}.${_format}-backup"
|
||||
else
|
||||
echo "ERROR vmm(4)/vmd(8) files moved: ${IMAGES}/${_instance}.${_format} doesn't exist"
|
||||
fi
|
||||
}
|
||||
|
||||
remove_user() {
|
||||
_owner=$(check_owner "$username" "$owner")
|
||||
if [ -n "$_owner" ]; then
|
||||
if grep -e "^${_owner}:" /etc/passwd > /dev/null; then
|
||||
userdel -r "$_owner"
|
||||
echo "userdel(8) removal: $_owner"
|
||||
else
|
||||
echo "ERROR userdel(8) removal: $_owner doesn't exist"
|
||||
fi
|
||||
|
||||
if grep -e "^${_owner}:" /etc/group > /dev/null; then
|
||||
groupdel "$_owner"
|
||||
echo "groupdel(8) removal: $_owner"
|
||||
else
|
||||
echo "ERROR groupdel(8) removal: $_owner doesn't exist"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
move_file() {
|
||||
filename=$1
|
||||
cp ${filename} ${filename}-backup
|
||||
echo "cp(1): ${filename} ${filename}-backup"
|
||||
mv ${filename} ${filename}.free
|
||||
echo "mv(1): ${filename} ${filename}.free"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
Loading…
Reference in New Issue