diff --git a/app/sbin/checkFilestore b/app/sbin/checkFilestore index 7301056..8f30883 100755 --- a/app/sbin/checkFilestore +++ b/app/sbin/checkFilestore @@ -1,8 +1,8 @@ #!/bin/bash # checkFilestore — compare container filestore vs host disk via md5 -[[ -z "${1-}" ]] && { echo "Usage: $0 "; exit 1; } -UUID="$1" +check_one() { +local UUID="$1" FILESTORE_HOST="/4server/data/$UUID/odoo/odoo-web-data/filestore/$UUID" @@ -34,4 +34,25 @@ MD5_HOST=$(find "$FILESTORE_HOST" -type f | sort | xargs md5sum 2>/dev/null | aw echo "Container : $MD5_CONTAINER" echo "Host : $MD5_HOST" -[[ "$MD5_CONTAINER" == "$MD5_HOST" ]] && echo "OK: filestores match" || { echo "FAIL: mismatch"; exit 3; } +[[ "$MD5_CONTAINER" == "$MD5_HOST" ]] && echo "OK: filestores match" || { echo "FAIL: mismatch"; return 3; } +} + +if [[ -n "${1-}" ]]; then + check_one "$1" +else + for dir in /4server/data/00*/; do + UUID=$(basename "$dir") + result=$(check_one "$UUID" 2>&1) + if echo "$result" | grep -q "OK: filestores match"; then + echo "$UUID OK" + elif echo "$result" | grep -q "not running"; then + echo "$UUID NOT RUNNING" + elif echo "$result" | grep -q "host filestore not found"; then + echo "$UUID NO FILESTORE" + elif echo "$result" | grep -q "cannot query DB"; then + echo "$UUID DB ERROR" + else + echo "$UUID MISMATCH" + fi + done +fi