summaryrefslogtreecommitdiffstats
path: root/adei/configs/adei_manager.cron.sh
blob: 0ba77b51cefaf9d3530db676ed5d1f80d0c803be (plain)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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
)