2022-10-11 05:01:14 +00:00
|
|
|
#! /bin/bash
|
|
|
|
|
2023-02-21 06:49:57 +00:00
|
|
|
# shellcheck disable=SC1091 # Do not follow
|
2022-10-11 05:01:14 +00:00
|
|
|
source /sf/bin/funcs.sh
|
2022-12-16 23:31:12 +00:00
|
|
|
source /sf/bin/funcs_redis.sh
|
2022-10-11 05:01:14 +00:00
|
|
|
|
2024-01-20 20:44:05 +00:00
|
|
|
# Defaults
|
|
|
|
SF_TIMEOUT_WITH_SHELL=$((60 * 60 * 36))
|
|
|
|
SF_TIMEOUT_NO_SHELL=$((60 * 60 * 1))
|
|
|
|
SF_TIMEOUT_TOKEN_WITH_SHELL=$((60 * 60 * 24 * 7))
|
|
|
|
SF_TIMEOUT_TOKEN_NO_SHELL=$((60 * 60 * 36))
|
|
|
|
[[ -n $SF_DEBUG ]] && {
|
|
|
|
SF_TIMEOUT_WITH_SHELL=60
|
|
|
|
SF_TIMEOUT_NO_SHELL=15
|
|
|
|
SF_TIMEOUT_TOKEN_WITH_SHELL=120
|
|
|
|
SF_TIMEOUT_TOKEN_NO_SHELL=90
|
2023-02-27 17:17:32 +00:00
|
|
|
}
|
2023-02-19 17:15:42 +00:00
|
|
|
|
2022-10-11 05:01:14 +00:00
|
|
|
[[ ! -S /var/run/docker.sock ]] && ERREXIT 255 "Not found: /var/run/docker.sock"
|
2024-01-20 20:44:05 +00:00
|
|
|
source /funcs_destructor.sh || ERREXIT 255
|
|
|
|
|
2022-10-11 05:01:14 +00:00
|
|
|
export REDISCLI_AUTH="${SF_REDIS_AUTH}"
|
|
|
|
|
|
|
|
while :; do
|
2023-02-27 17:17:32 +00:00
|
|
|
sleep 30
|
2024-01-20 20:44:05 +00:00
|
|
|
source /config/etc/sf/timers.conf 2>/dev/null
|
|
|
|
source /funcs_destructor.sh 2>/dev/null
|
2022-10-11 05:01:14 +00:00
|
|
|
NOW=$(date +%s)
|
2023-02-27 17:17:32 +00:00
|
|
|
# Every 30 seconds check all container we are tracking (from encfsd)
|
|
|
|
containers=($(cd /sf/run/encfsd/user && echo lg-*))
|
2022-10-11 05:01:14 +00:00
|
|
|
n=${#containers[@]}
|
2023-02-27 17:17:32 +00:00
|
|
|
# Continue if no entry (it's lg-* itself)
|
|
|
|
[[ $n -eq 1 ]] && [[ ! -f "/sf/run/encfsd/user/${containers[0]}" ]] && continue
|
2023-02-21 06:49:57 +00:00
|
|
|
i=0
|
2022-10-11 05:01:14 +00:00
|
|
|
while [[ $i -lt $n ]]; do
|
|
|
|
check_container "${containers[$i]}"
|
|
|
|
((i++))
|
|
|
|
done
|
|
|
|
done
|