Checking file existence using 'if' replaced with shell option 'nullglob' to prevent the following 'for' loop from being entered even when no matching files are present.

Esse commit está contido em:
Tomasz Stanczak
2025-02-08 10:46:27 +01:00
commit c214e98535
+10 -11
Ver Arquivo
@@ -3,17 +3,16 @@
source /etc/mailinabox.conf
shopt -s extglob
shopt -s nullglob
if ls "$STORAGE_ROOT/ssl/"*-+([0-9])-+([0-9a-f]).pem &>/dev/null; then
retain_after="$(date --date="7 days ago" +%Y%m%d)"
retain_after="$(date --date="7 days ago" +%Y%m%d)"
mkdir -p $STORAGE_ROOT/ssl.expired
for file in $STORAGE_ROOT/ssl/*-+([0-9])-+([0-9a-f]).pem; do
pem="$(basename "$file")"
not_valid_after="$(cut -d- -f1 <<< "${pem: -21}")"
mkdir -p $STORAGE_ROOT/ssl.expired
for file in $STORAGE_ROOT/ssl/*-+([0-9])-+([0-9a-f]).pem; do
pem="$(basename "$file")"
not_valid_after="$(cut -d- -f1 <<< "${pem: -21}")"
if [ "$not_valid_after" -lt "$retain_after" ]; then
mv "$file" "$STORAGE_ROOT/ssl.expired/${pem}"
fi
done
fi
if [ "$not_valid_after" -lt "$retain_after" ]; then
mv "$file" "$STORAGE_ROOT/ssl.expired/${pem}"
fi
done