From 325336fc181ecffb228201c0e1f8e4156fb7f46c Mon Sep 17 00:00:00 2001 From: Mo8it Date: Mon, 29 Aug 2022 22:35:33 +0200 Subject: [PATCH] Add day_2 --- day_2/scheduler.sh | 20 ++++++++++++++++++++ day_2/submitter.sh | 18 ++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100755 day_2/scheduler.sh create mode 100755 day_2/submitter.sh diff --git a/day_2/scheduler.sh b/day_2/scheduler.sh new file mode 100755 index 0000000..019ab97 --- /dev/null +++ b/day_2/scheduler.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +JOBS_DIR=~/day_2/jobs +LOGS_DIR=~/day_2/logs + +# Make sure that needed directories exist +mkdir -p "$JOBS_DIR" +mkdir -p "$LOGS_DIR" + +# Listen to CLOSE_WRITE event to run script after copying is done +inotifywait -m -e close_write --format "%f" run | while read FILE +do + echo "Running job $FILE" + + # Adding execution permission + chmod u+x "$JOBS_DIR"/"$FILE" + + # Running job script with output and error redirection + "$JOBS_DIR"/"$FILE" 1> "$LOGS_DIR"/"$FILE".out 2> "$LOGS_DIR"/"$FILE".err +done diff --git a/day_2/submitter.sh b/day_2/submitter.sh new file mode 100755 index 0000000..1ea1c96 --- /dev/null +++ b/day_2/submitter.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +JOBS_DIR=~/day_2/jobs + +# Get file path as first argument +FILE_PATH="$1" + +# Get only the file name from the path +FILE_NAME=$(basename "$FILE_PATH") + +# Get the date in wished format +DATE=$(date -Iseconds) + +# Combine name of new file +NEW_NAME="$DATE"_"$FILE_NAME" + +# Copy job file with new name +cp "$FILE_PATH" "$JOBS_DIR"/"$NEW_NAME"