From 74a95a57e5e0b7d8e8326e6ca233679b7997ecbc Mon Sep 17 00:00:00 2001 From: arcan1s Date: Tue, 24 Dec 2013 00:38:40 +0400 Subject: [PATCH] Added add_queued --- PKGBUILD | 4 +- create_archive.sh | 1 + install.sh | 2 + queued-1.1.0-src.tar.xz | Bin 14576 -> 0 bytes queued-1.2.0-src.tar.xz | Bin 0 -> 15088 bytes sources/add_queued | 92 ++++++++++++++++++++++++++++++++++++++++ sources/add_queued.1 | 32 ++++++++++++++ sources/queued | 17 ++++---- sources/queued.1 | 6 ++- 9 files changed, 142 insertions(+), 12 deletions(-) delete mode 100644 queued-1.1.0-src.tar.xz create mode 100644 queued-1.2.0-src.tar.xz create mode 100755 sources/add_queued create mode 100644 sources/add_queued.1 diff --git a/PKGBUILD b/PKGBUILD index 4473125..810e2fc 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,7 +2,7 @@ # Author: Evgeniy "arcanis" Alexeev pkgname=queued -pkgver=1.1.0 +pkgver=1.2.0 pkgrel=1 pkgdesc="Daemon for starting jobs to queue of calculations" arch=('any') @@ -10,7 +10,7 @@ url="https://github.com/arcan1s/queued" license=("GPLv3") depends=('bash') source=(https://github.com/arcan1s/queued/releases/download/V.${pkgver}/${pkgname}-${pkgver}-src.tar.xz) -md5sums=('0832ae610567e0aed4dccea02408e5a3') +md5sums=('a5e1af503128283cda85ca21d08b6853') backup=('etc/queued.conf') package() diff --git a/create_archive.sh b/create_archive.sh index 26b0524..0e5d768 100755 --- a/create_archive.sh +++ b/create_archive.sh @@ -8,6 +8,7 @@ mkdir -p ${ARCHIVE}/usr/share/man/{man1,man5} mkdir -p ${ARCHIVE}/etc cp sources/queued ${ARCHIVE}/usr/bin/ +cp sources/add_queued ${ARCHIVE}/usr/bin/ cp sources/queued.service ${ARCHIVE}/usr/lib/systemd/system/ cp sources/queued.conf ${ARCHIVE}/etc/ cp sources/*.1 ${ARCHIVE}/usr/share/man/man1/ diff --git a/install.sh b/install.sh index 39cfebc..dff3e1b 100755 --- a/install.sh +++ b/install.sh @@ -11,11 +11,13 @@ func_error() { cd "$(dirname "${BASH_SOURCE[0]}")" # daemon and configuration install -D -m755 "usr/bin/queued" "$DESTDIR/usr/bin/queued" || func_error +install -D -m755 "usr/bin/add_queued" "$DESTDIR/usr/bin/add_queued" || func_error install -D -m644 "etc/queued.conf" "$DESTDIR/etc/queued.conf" || func_error # service install -D -m644 "usr/lib/systemd/system/queued.service" "$DESTDIR/usr/lib/systemd/system/queued.service" || func_error # man pages install -D -m644 "usr/share/man/man1/queued.1" "$DESTDIR/usr/share/man/man1/queued.1" || func_error +install -D -m644 "usr/share/man/man1/add_queued.1" "$DESTDIR/usr/share/man/man1/add_queued.1" || func_error install -D -m644 "usr/share/man/man5/queued.conf.5" "$DESTDIR/usr/share/man/man5/queued.conf.5" || func_error exit 0 diff --git a/queued-1.1.0-src.tar.xz b/queued-1.1.0-src.tar.xz deleted file mode 100644 index 1a91479e1593f18bb1b8a378c06d57f63b2dbc5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14576 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 a0m*TI-~#}LXO>>E#Ao{g000001X)_$=2(6J diff --git a/queued-1.2.0-src.tar.xz b/queued-1.2.0-src.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..5c77398e41b6b10e5032f91418ecbadda4b3821b GIT binary patch literal 15088 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/dev/null +} + + +CONF_FILE="/etc/queued.conf" +# parametrs parsing +until [ -z $1 ]; do + case "$1" in + "-h" | "--help" ) func_help;; + "-c" ) [ -z "$2" ] && error_mes "config" || CONF_FILE="$2" && shift;; + "-p" ) [ -z "$2" ] && error_mes "priority" || JOB_PRIORITY="$2" && shift;; + "-u" ) [ -z "$2" ] && error_mes "user" || JOB_USER="$2" && shift;; + * ) JOB_SCRIPT="$1";; + esac + shift +done +# default values +WORKDIR="/var/lib/queued/work" +echo "[II] Reading configuration from '$CONF_FILE'" +[ -e "$CONF_FILE" ] || error_mes "notfound" "$CONF_FILE" +for VAR in "$(cat "$CONF_FILE")"; do eval "$VAR"; done + +# error check +if [ ! -d "$WORKDIR" ]; then + [ -e "$WORKDIR" ] && error_mes "file" "$WORKDIR" + echo "[II] Creating directory '$WORKDIR'" + mkdir -m777 -p "$WORKDIR" || error_mes "unknown" +fi +if [ ! -z "$JOB_PRIORITY" ]; then + isnum "$JOB_PRIORITY" || error_mes "number" "$JOB_PRIORITY" +fi +[ -z "$JOB_SCRIPT" ] && error_mes "notfound" "$JOB_SCRIPT" +[ -e "$JOB_SCRIPT" ] || error_mes "notfound" "$JOB_SCRIPT" + + +# work block +if [ -e "$WORKDIR/$(basename "$JOB_SCRIPT")" ]; then + echo "[WW] File '$WORKDIR/$(basename "$JOB_SCRIPT")' already exists. Creating backup" + mv "$WORKDIR/$(basename "$JOB_SCRIPT")" "$WORKDIR/$(basename "$JOB_SCRIPT")-$(date +%Y%m%d-%N)" || error_mes "unknown" +fi +echo "[II] Copying '$JOB_SCRIPT' to '$WORKDIR'" +cp --archive "$JOB_SCRIPT" "$WORKDIR" || error_mes "unknown" +if [ ! -z "$JOB_PRIORITY" ]; then + echo "$JOB_PRIORITY" > "$WORKDIR/$(basename "$JOB_SCRIPT").pr" || error_mes "unknown" +fi +if [ ! -z "$JOB_USER" ]; then + echo "$JOB_USER" > "$WORKDIR/$(basename "$JOB_SCRIPT").user" || error_mes "unknown" +fi + +exit 0 diff --git a/sources/add_queued.1 b/sources/add_queued.1 new file mode 100644 index 0000000..b144e59 --- /dev/null +++ b/sources/add_queued.1 @@ -0,0 +1,32 @@ +.TH add_queued 1 "December 24, 2013" "version 1.2.0" "USER COMMANDS" +.SH NAME +add_queued +.SH SYNOPSIS +.B add_queued +[ -c /etc/queued.conf ] [ -p NUM ] [ -u USER ] [ -h | --help ] /path/to/script +.SH DESCRIPTION +.B add_queued +is a script to add job for +.BR queued (1) +.SH OPTIONS +.TP +/path/to/script +Path to the job script +.TP +-c /etc/queued.conf +Full path to configuration file. Default is +.B /etc/queued.conf. +.TP +-p NUM +priority of the job +.TP +-u USER +username for the job running +.TP +-h, --help +Show help and exit. +.SH SEE ALSO +.BR queued (1) +.BR queued.conf (5) +.SH AUTHOR +Evgeniy Alexeev aka arcanis <\fIesalexeev@gmail.com\fR> diff --git a/sources/queued b/sources/queued index b42f533..4ef0a45 100755 --- a/sources/queued +++ b/sources/queued @@ -22,9 +22,9 @@ error_mes() { case "$1" in "config" ) echo "[EE] Configuration file is not set";; - "file" ) echo "[EE]: '$2' is a file";; + "file" ) echo "[EE] '$2' is a file";; "flag" ) echo "[EE] Unknown flag";; - "number" ) echo "[EE]: '$2' is not a number";; + "number" ) echo "[EE] '$2' is not a number";; "unknown" ) echo "[EE] Unknown error";; esac exit 1 @@ -41,7 +41,7 @@ func_help() { func_ver() { echo -e " queued " echo -e "Simple daemon for starting jobs to queue of calculations" - echo -e "Version : 1.1.0 License : GPLv3" + echo -e "Version : 1.2.0 License : GPLv3" echo -e "Author : Evgeniy Alexeev aka arcanis" echo -e "E-mail : esalexeev (at) gmail.com" exit 0 @@ -74,6 +74,7 @@ SLEEPTIME=5 STARTASUSER="root" WORKDIR="/var/lib/queued/work" echo "[II] Reading configuration from '$CONF_FILE'" +[ -e "$CONF_FILE" ] || error_mes "config" for VAR in "$(cat "$CONF_FILE")"; do eval "$VAR"; done @@ -81,19 +82,19 @@ for VAR in "$(cat "$CONF_FILE")"; do eval "$VAR"; done # creating directories if doesn't exist if [ ! -d "$JOBDIR/done" ]; then [ -e "$JOBDIR/done" ] && error_mes "file" "$JOBDIR/done" - echo "[II]: Create directory '$JOBDIR/done'" + echo "[II] Creating directory '$JOBDIR/done'" mkdir -m777 -p "$JOBDIR/done" || error_mes "unknown" fi if [ ! -d "$WORKDIR" ]; then [ -e "$WORKDIR" ] && error_mes "file" "$WORKDIR" - echo "[II]: Create directory '$WORKDIR'" + echo "[II] Creating directory '$WORKDIR'" mkdir -m777 -p "$WORKDIR" || error_mes "unknown" fi if [ ! -d "$(dirname "$QUEUEFILE")" ]; then [ -e "$(dirname "$QUEUEFILE")" ] && error_mes "file" "$(dirname "$QUEUEFILE")" - echo "[II]: Create directory '$(dirname "$QUEUEFILE")'" + echo "[II] Creating directory '$(dirname "$QUEUEFILE")'" mkdir -m777 -p "$(dirname "$QUEUEFILE")" || error_mes "unknown" - echo "[II]: Create file '$QUEUEFILE'" + echo "[II] Creating file '$QUEUEFILE'" touch "$QUEUEFILE" || error_mes "unknown" chmod 777 "$QUEUEFILE" fi @@ -112,7 +113,7 @@ cd / ( while true; do # check files - echo "[II] Check new files" + echo "[II] Checking new files" for FILE in $(ls "$WORKDIR/"); do [ -d "$WORKDIR/$FILE" ] && continue FILE_EXT="${FILE##*.}" diff --git a/sources/queued.1 b/sources/queued.1 index 0bcb468..3bf10f1 100644 --- a/sources/queued.1 +++ b/sources/queued.1 @@ -1,4 +1,4 @@ -.TH queued 1 "December 24, 2013" "version 1.1.0" "USER COMMANDS" +.TH queued 1 "December 24, 2013" "version 1.2.0" "USER COMMANDS" .SH NAME queued - daemon for starting jobs to queue of calculations .SH SYNOPSIS @@ -10,7 +10,8 @@ is a simple daemon written on BASH for starting jobs to queue of calculations in .SH OPTIONS .TP -c /etc/queued.conf -Full path to configuration file. Default is '/etc/queued.conf'. +Full path to configuration file. Default is +.B /etc/queued.conf. .TP -h, --help Show help and exit. @@ -71,6 +72,7 @@ to determine errors: [EE] - error .fi .SH SEE ALSO +.BR add_queued (1) .BR queued.conf (5) .SH AUTHOR Evgeniy Alexeev aka arcanis <\fIesalexeev@gmail.com\fR>