diff options
author | Suren A. Chilingaryan <csa@suren.me> | 2018-02-22 16:22:17 +0100 |
---|---|---|
committer | Suren A. Chilingaryan <csa@suren.me> | 2018-02-22 16:22:17 +0100 |
commit | 733b1e4c50e5943de559778330061ed803070e1c (patch) | |
tree | da5bb6163b7a1b6e967616bba241fbb3b7c8e861 /adei/configs/adei_manager.cron.sh | |
parent | 521d7e938779e7d3a94aefa35c6e429aed1c3946 (diff) | |
download | adei-733b1e4c50e5943de559778330061ed803070e1c.tar.gz adei-733b1e4c50e5943de559778330061ed803070e1c.tar.bz2 adei-733b1e4c50e5943de559778330061ed803070e1c.tar.xz adei-733b1e4c50e5943de559778330061ed803070e1c.zip |
Support more parameters from environment
Diffstat (limited to 'adei/configs/adei_manager.cron.sh')
-rw-r--r-- | adei/configs/adei_manager.cron.sh | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/adei/configs/adei_manager.cron.sh b/adei/configs/adei_manager.cron.sh new file mode 100644 index 0000000..0ba77b5 --- /dev/null +++ b/adei/configs/adei_manager.cron.sh @@ -0,0 +1,74 @@ +#! /bin/bash + + +function process_setup { + setup="$1" + parallel="$2" + + local args="-parallel $parallel" + if [ -n "$setup" ]; then + args="$args -setup $setup" + else + setup=$(php -r 'require "adei.php"; echo $ADEI_SETUP;') + fi + + if [ ! -d "setups/$setup" ]; then + echo "$setup is not existing" + return + fi + + if [ -f setups/$setup/adei_manager.cron.sh ]; then + setups/$setup/adei_manager.cron.sh + return + fi + + if [ -f setups/$setup/.cache_archives ]; then + /usr/bin/php system/cache.php -archives $args + fi + + if [ -f setups/$setup/.backup ]; then + /usr/bin/php system/backup.php $args + fi +} + +[ -f /adei/env ] && . /adei/env + +script=$( cd $(dirname "$0") && pwd )/$( basename "$0" ) +if [ -f /adei/sys/adei_manager.cron.sh -a "$script" != /adei/sys/adei_manager.cron.sh ]; then + /adei/sys/adei_manager.cron.sh + exit +fi + +( + cd /srv/www/htdocs/adei + + if [ -n "$ADEI_SETUP" -o -n "$ADEI_ENABLED_SETUPS" ]; then + if [ "$ADEI_SETUP" = "all" ]; then + list=$(echo "$ADEI_ENABLED_SETUPS" | xargs -n 1 | sort -u) + else + list=$(echo "$ADEI_SETUP $ADEI_ENABLED_SETUPS" | xargs -n 1 | sort -u) + fi + else + for name in setups/*; do + if [ -f $name/.cache ]; then + list="$list $(basename $name)" + fi + done + fi + + if [ -n "$list" ]; then + for setup in $list; do + process_setup "$setup" "$ADEI_PARALLEL" & + pids="$pids $!" + done + else + process_setup "" "$ADEI_PARALLEL" & + pids="$!" + fi + + /usr/bin/php system/downloads_clean.php + + for pid in $pids; do + wait $pid + done +) |