add util scripts

This commit is contained in:
Sarah Vaupel 2023-10-23 14:38:37 +02:00
commit 40b413c8ae
9 changed files with 212 additions and 0 deletions

54
launch-terminal/dev.sh Executable file
View File

@ -0,0 +1,54 @@
#!/bin/sh
U2W_UTILS_DIR=$(dirname `readlink -f "$0"`)/..
REMOTE_COMMAND="\$SHELL -l"
REMOTE_DIR="~"
DO_DEVELOP=false
DO_CHECK_CONNECTION=false
VERBOSE_MODE=false
source $U2W_UTILS_DIR/utils/config.sh
while true; do
case $1 in
--project )
REMOTE_COMMAND="cd ~/$2; \$SHELL -l"
shift 2;;
--nix-shell )
REMOTE_COMMAND="NIXPKGS_ALLOW_UNFREE=1 nix-shell --packages nodejs chromium reuse pre-commit --command \"zsh -i -is eval 'cd $2'\""
shift 2;;
--develop )
REMOTE_COMMAND="zsh -i -is eval 'cd $2; develop'"
shift 2;;
--dont-check-connection )
DO_CHECK_CONNECTION=false
shift;;
--verbose )
VERBOSE_MODE=true
shift;;
-- ) shift; break;;
* )
# if $VERBOSE_MODE; then
# echo "Invalid option: $1"
# fi
break;;
esac
done
if $DO_CHECK_CONNECTION; then
if $VERBOSE_MODE; then
echo "Checking connection..."
fi
source $U2W_UTILS_DIR/utils/check_connection.sh
if $VERBOSE_MODE; then
echo " ... done"
fi
fi
if $VERBOSE_MODE; then
echo "Opening ssh session to $REMOTE_HOST_SHORT..."
fi
ssh -t $REMOTE_HOST "$REMOTE_COMMAND"

11
launch-terminal/local.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
U2W_UTILS_DIR=$(dirname `readlink -f "$0"`)/..
source $U2W_UTILS_DIR/utils/config.sh
source $U2W_UTILS_DIR/sshfs/start.sh
cd $LOCAL_U2W_DIR_SHORT
$SHELL

View File

@ -0,0 +1,54 @@
#!/bin/sh
U2W_UTILS_DIR=$(dirname `readlink -f "$0"`)/..
REMOTE_COMMAND="\$SHELL -l"
REMOTE_DIR="~"
DO_DEVELOP=false
DO_CHECK_CONNECTION=false
VERBOSE_MODE=false
source $U2W_UTILS_DIR/utils/config.sh
while true; do
case $1 in
--project )
REMOTE_COMMAND="cd ~/$2; \$SHELL -l"
shift 2;;
--nix-shell )
REMOTE_COMMAND="NIXPKGS_ALLOW_UNFREE=1 nix-shell --packages nodejs chromium reuse pre-commit --command \"zsh -i -is eval 'cd $2'\""
shift 2;;
--develop )
REMOTE_COMMAND="NIXPKGS_ALLOW_UNFREE=1 nix-shell --packages nodejs chromium reuse pre-commit --command \"zsh -i -is eval 'cd $2; develop'\""
shift 2;;
--dont-check-connection )
DO_CHECK_CONNECTION=false
shift;;
--verbose )
VERBOSE_MODE=true
shift;;
-- ) shift; break;;
* )
# if $VERBOSE_MODE; then
# echo "Invalid option: $1"
# fi
break;;
esac
done
if $DO_CHECK_CONNECTION; then
if $VERBOSE_MODE; then
echo "Checking connection..."
fi
source $U2W_UTILS_DIR/utils/check_connection.sh
if $VERBOSE_MODE; then
echo " ... done"
fi
fi
if $VERBOSE_MODE; then
echo "Opening ssh session to $REMOTE_HOST_SHORT..."
fi
ssh -t $REMOTE_HOST_SHORT "$REMOTE_COMMAND"

8
monitor/all_servers.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
tmux new-session -d "ssh -t uniworx3 \"watch -c SYSTEMD_COLORS=1 systemctl status -n0 'uni2work@*.service'\""
tmux split-window -h "ssh -t uniworx4 \"watch -c SYSTEMD_COLORS=1 systemctl status -n0 'uni2work@*.service'\""
tmux split-window -h "ssh -t uniworx5 \"watch -c SYSTEMD_COLORS=1 systemctl status -n0 'uni2work@*.service'\""
tmux split-window -h "ssh -t uniworxdb2 \"sudo -Hsu postgres pg_top -I -s 1\""
tmux select-layout even-horizontal
tmux -2 attach-session -d

9
monitor/pg_top.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
#source $(dirname `readlink -f "$0"`)/../utils/config.sh
DB_HOST_SHORT="uniworxdb2"
#source $U2W_UTILS_DIR/utils/check_connection.sh
ssh -t $DB_HOST_SHORT "sudo -Hsu postgres pg_top -I -s 1"

15
sshfs/start.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
U2W_UTILS_DIR=$(dirname `readlink -f "$0"`)/..
source $U2W_UTILS_DIR/utils/config.sh
source $U2W_UTILS_DIR/utils/check_connection.sh
# create local development directory if it does not exist already
mkdir -p $LOCAL_U2W_DIR
# mount the remote development directory
if [ -z "$(ls -A $LOCAL_U2W_DIR)" ]; then
sshfs -o reconnect -o ServerAliveInterval=15 $REMOTE_HOST_SHORT:$REMOTE_U2W_DIR $LOCAL_U2W_DIR
fi

11
sshfs/stop.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
source $(dirname `readlink -f "$0"`)/../utils/config.sh
if [ -d "$LOCAL_U2W_DIR" ]; then
mountpoint --quiet $LOCAL_U2W_DIR
if [ $? -eq 0 ]; then
fusermount -u $LOCAL_U2W_DIR
rmdir $LOCAL_U2W_DIR
fi
fi

12
utils/check_connection.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/sh
source $(dirname `readlink -f "$0"`)/../utils/config.sh
ping -q -c 1 $REMOTE_HOST > /dev/null
if [ $? -ne 0 ]; then
ERR_NO_CONNECTION="Cannot connect to $REMOTE_HOST. Please check your internet connection and make sure that you are connected to the MWN."
ERR_NO_CONNECTION_SHORT="Cannot connect to $REMOTE_HOST_SHORT"
echo $ERR_NO_CONNECTION
notify-send -c "network.disconnected" -i network-offline "$ERR_NO_CONNECTION_SHORT" "$ERR_NO_CONNECTION"
exit 1
fi

38
utils/config.sh Normal file
View File

@ -0,0 +1,38 @@
#!/bin/sh
##### srv01.uniworx.de #####
#
REMOTE_HOST=srv01.uniworx.de
REMOTE_HOST_SHORT=srv01
#
REMOTE_U2W_DIR=~/Projects/LMU/Uni2work/Uni2work
REMOTE_U2W_DIR_SHORT=~/u2w
#
REMOTE_FRADRIVE_DIR=~/Projects/Fraport/FraDrive/FraDrive
REMOTE_FRADRIVE_DIR_SHORT=~/fradrive
#
#####
##### uni2work-dev1 #####
#
#REMOTE_HOST=uni2work-dev1.ifi.lmu.de
#REMOTE_HOST_SHORT=uni2work-dev1
#
#REMOTE_U2W_DIR=~/Projects/Uni2work/Uni2work
#REMOTE_U2W_DIR_SHORT=~/u2w
#
#REMOTE_FRADRIVE_DIR=~/Projects/FraDrive/FraDrive
#REMOTE_FRADRIVE_DIR_SHORT=~/fradrive
#
#
#####
##### localhost (sshfs) #####
#
#LOCAL_U2W_DIR=~/Projects/Uni2work/Uni2work
#LOCAL_U2W_DIR_SHORT=~/u2w
#
#LOCAL_U2W_SSHFS_DIR=~/Projects/Uni2work/Uni2work-Remote
#LOCAL_U2W_SSHFS_DIR_SHORT=~/u2w-rem
#
#####