#!/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..10}; 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 "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)" # 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 sleep 20 done exit 0