run.sh 1.83 KB
Newer Older
Gerfried Krainz's avatar
Gerfried Krainz committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
#!/bin/bash

SCRIPT_TEMP_DIR="/tmp/template_falcon.sh"
HOME_DIR="\$(pwd)"
VENV_HOME_DIR="$HOME_DIR/venv-3.9_studs/bin/activate"

REMOTE_REPO_NAME="iqeval"
REMOTE_REPO_DIR="$HOME_DIR/$REMOTE_REPO_NAME"

source ./script.sh

# Rsync the repository to Xserve Home Dir via Falcon01.
RSYNC_EXCLUDE_FILE="rsync_excludes"
RSYNC_FROM="/home/dev/repos/iqeval"
RSYNC_TO="fc01:"

rsync -e 'ssh -q' -a --no-links --exclude-from=$RSYNC_EXCLUDE_FILE $RSYNC_FROM $RSYNC_TO > rsync.log

# Prepare a default.ini file for the falcon servers. It should include all falcon relevant paths for temp storage.
ssh -q fc01 "mv $REMOTE_REPO_DIR/default_falcon.ini $REMOTE_REPO_DIR/default.ini"

# If you need fast memory storage and access, use the local shared memory. E.g. create a symbolic link to the shared memory in your repo.
ssh -q fc01 "[ ! -d $REMOTE_REPO_DIR/logf ] && ln -s /dev/shm/$REMOTE_REPO_NAME/logf $REMOTE_REPO_DIR/logf"

SCREEN_SESSION_NAME="iqeval"

for i in {01..1}; do
    printf "FALCON $i | "
    # Quit old screen session if it exists
    ssh -q fc$i "screen -S $SCREEN_SESSION_NAME -X quit" > /dev/null

    # Generate script and upload it
    script_template "20230220 12-22-06" "\$(for j in {0..1}; do printf \"\$((\$j + 18 * ($i-1))) \" ; done)"

    # Upload script to Falcon server
    scp -q $SCRIPT_TEMP_DIR fc$i:/tmp

    # Pre cleanup folders and files, maybe from previous calculations
    ssh -q fc$i "[ -d /tmp/$REMOTE_REPO_NAME ] && rm -r /tmp/$REMOTE_REPO_NAME ; [ -d /dev/shm/$REMOTE_REPO_NAME ] && rm -r /dev/shm/$REMOTE_REPO_NAME"
    
    # Start screen session and run script
    ssh -q fc$i screen -dmS $SCREEN_SESSION_NAME $SCRIPT_TEMP_DIR

    # Check if session really exists
    if [ -z "$(ssh -q fc$i screen -ls | grep $SCREEN_SESSION_NAME)" ]; then
        printf "session failed\n"
    else
        printf "session exists\n"
    fi
done


exit 0