From 5d14283c902bffaecbd29693edff467308f48c57 Mon Sep 17 00:00:00 2001 From: Bo-Chun Louis Chen <louistw@uab.edu> Date: Fri, 23 Aug 2024 01:55:15 -0500 Subject: [PATCH] feat: Add script to move between groups --- user_migrate.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 user_migrate.sh diff --git a/user_migrate.sh b/user_migrate.sh new file mode 100644 index 0000000..636ffcc --- /dev/null +++ b/user_migrate.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +user=$1 +group_to=$2 +rc=0 + +if [[ -z "${group_to}" ]]; then + echo "Usage: $0 USER TARGET_GROUP" + exit 1 +elif [[ "${group_to}" != "gpfs4" && "${group_to}" != "gpfs5" ]]; then + echo "Target group should be \"gpfs4\" or \"gpfs5\", got \"${group_to}\"." + exit 1 +fi + +getent passwd "$user" > /dev/null 2&>1 + +if [[ $? -ne 0 ]]; then + echo "The user $user does not exist" + exit 1 +fi + +cd /cm/shared/rabbitmq_agents || exit +source venv/bin/activate + +./account_manager.py "$user" hold + +if [[ "$group_to" == "gpfs4" ]]; then + group_from=gpfs5 +else + group_from=gpfs4 +fi + +if [[ -d "/$group_from/data/user/home/$user" ]]; then + rsync -a --delete "/$group_from/data/user/home/$user/" "/$group_to/data/user/home/$user" + + ./group_manager.py "$user" -g "$group_to" + ./group_manager.py "$user" -d -g "$group_from" +else + echo User home directory does not exist. + rc=1 +fi + +./account_manager.py "$user" ok +exit $rc -- GitLab