run.sh 2.07 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
#!/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"

Gerfried Krainz's avatar
Gerfried Krainz committed
27
for i in {01..10}; do
Gerfried Krainz's avatar
Gerfried Krainz committed
28 29 30 31 32
    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
Gerfried Krainz's avatar
Gerfried Krainz committed
33 34 35
    script_template "20230221 18-12-12" "\$(for j in {0..17}; do printf \"\$((\$j + 18 * (10#$i-1))) \" ; done)"
    # script_template "20230220 12-22-06" "\$(for j in {0..17}; do printf \"\$((\$j + 18 * (10#$i-1))) \" ; done)"
    # script_template "20230328 12-18-41" "\$(for j in {0..17}; do printf \"\$((\$j + 18 * (10#$i-1))) \" ; done)"
Gerfried Krainz's avatar
Gerfried Krainz committed
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

    # 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
Gerfried Krainz's avatar
Gerfried Krainz committed
52
    sleep 20
Gerfried Krainz's avatar
Gerfried Krainz committed
53 54 55 56
done


exit 0