From 59be4584d5f79c203dee117da877f90983717305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Sol=C3=ADs?= Date: Fri, 7 Feb 2025 16:21:07 +0000 Subject: [PATCH] chore: Apply shellcheck/shfmt suggestions --- friendica-compress-storage.sh | 57 ++++++++++--------------- friendica-delete-old-users.sh | 3 +- friendica-find-missing-servers.sh | 2 +- friendica-remove-invalid-photos.sh | 7 +-- friendica-remove-old-photos-parallel.sh | 5 ++- 5 files changed, 32 insertions(+), 42 deletions(-) diff --git a/friendica-compress-storage.sh b/friendica-compress-storage.sh index 86cb88f..b9bf8ce 100755 --- a/friendica-compress-storage.sh +++ b/friendica-compress-storage.sh @@ -5,50 +5,39 @@ IFS=" folder=/var/www/friendica storagefolder=storage -loop_1(){ +loop_1() { t=$(file "${p}") - if [[ "${t}" =~ JPEG ]] - then + if [[ "${t}" =~ JPEG ]]; then nice -n 10 jpegoptim -m 76 "${p}" #&> /dev/null - elif [[ "${t}" =~ GIF ]] - then + elif [[ "${t}" =~ GIF ]]; then nice -n 10 gifsicle --batch -O3 --lossy=80 --colors=255 "${p}" #&> /dev/null #Specific compression for large GIF files - while [[ $(stat -c%s "${p}" || 0) -ge 512000 ]] - do + while [[ $(stat -c%s "${p}" || 0) -ge 512000 ]]; do nice -n 10 gifsicle "${p}" $(seq -f "#%g" 0 2 99) -O3 --lossy=80 --colors=255 -o "${p}" #&> /dev/null done - elif [[ "${t}" =~ PNG ]] - then + elif [[ "${t}" =~ PNG ]]; then nice -n 10 oxipng -o max "${p}" #&> /dev/null - elif [[ "${p}" =~ Web/P ]] - then - #If file is not animated - if [[ $(grep -v -q -e "ANIM" -e "ANMF" "${p}") ]] - then - nice -n 10 cwebp -mt -af -quiet "${p}" -o /tmp/temp.webp #&> /dev/null - if [[ -f /tmp/temp.webp ]] - then - size_new=$(stat -c%s "/tmp/temp.webp" || 0 ) - size_original=$(stat -c%s "${p}") - if [[ "${size_original}" -gt "${size_new}" ]] - then - mv /tmp/temp.webp "${p}" #&> /dev/null - else - rm /tmp/temp.webp #&> /dev/null - fi - fi - fi - fi + elif [[ "${p}" =~ Web/P ]]; then + #If file is not animated + if grep -v -q -e "ANIM" -e "ANMF" "${p}"; then + nice -n 10 cwebp -mt -af -quiet "${p}" -o /tmp/temp.webp #&> /dev/null + if [[ -f /tmp/temp.webp ]]; then + size_new=$(stat -c%s "/tmp/temp.webp" || 0) + size_original=$(stat -c%s "${p}") + if [[ "${size_original}" -gt "${size_new}" ]]; then + mv /tmp/temp.webp "${p}" #&> /dev/null + else + rm /tmp/temp.webp #&> /dev/null + fi + fi + fi + fi } -c=0 -find "${folder}/${storagefolder}" -depth -mindepth 2 -type f -size +300k -not -iname "index.html" | ( - while read -r p - do +find "${folder}/${storagefolder}" -depth -mindepth 2 -type f -size +50k -not -iname "index.html" | ( + while read -r p; do loop_1 "${p}" & - until [[ $(jobs -r -p | wc -l) -lt $(( $(getconf _NPROCESSORS_ONLN) / 2 )) ]] - do + until [[ $(jobs -r -p | wc -l) -lt $(($(getconf _NPROCESSORS_ONLN) / 2)) ]]; do wait -n done done diff --git a/friendica-delete-old-users.sh b/friendica-delete-old-users.sh index 5bd94da..e03a1d7 100755 --- a/friendica-delete-old-users.sh +++ b/friendica-delete-old-users.sh @@ -1,6 +1,5 @@ #!/bin/bash db="friendica" -idsdownfile="/tmp/idsdown.txt" url=friendica.example.net avatarfolder=/var/www/friendica/avatar avatarfolderescaped=${avatarfolder////\\/} @@ -11,7 +10,7 @@ loop() { #Find the pictures in the avatar folders and delete them "${dbengine}" "${db}" -N -B -q -e "select \`photo\`, \`thumb\`, \`micro\` from \`contact\` where \`id\` = ${lineb}" | while read -r photo thumb micro; do #If stored in avatar folder - if [[ -z $(echo "${photo}" | grep "${url}/avatar") ]]; then + if ! grep -v -q "${url}/avatar" <(echo "${photo}"); then phototrimmed=$(echo "${photo}" | sed -e "s/https:\/\/${url}\/avatar/${avatarfolderescaped}/g" -e "s/\?ts.*//g") rm -rfv "${phototrimmed}" thumbtrimmed=$(echo "${thumb}" | sed -e "s/https:\/\/${url}\/avatar/${avatarfolderescaped}/g" -e "s/\?ts.*//g") diff --git a/friendica-find-missing-servers.sh b/friendica-find-missing-servers.sh index a23c64f..048740e 100755 --- a/friendica-find-missing-servers.sh +++ b/friendica-find-missing-servers.sh @@ -25,7 +25,7 @@ loop_3() { #Find the pictures in the avatar folders and delete them "${dbengine}" "${db}" -N -B -q -e "select \`photo\`, \`thumb\`, \`micro\` from \`contact\` where \`id\` = ${lineb}" | while read -r photo thumb micro; do #If stored in avatar folder - if $(echo "${photo}" | grep -q "${url}/avatar"); then #isavatar=$(grep -q "${url}/avatar" <<< "${photo}") + if grep -v -q "${url}/avatar" <(echo "${photo}"); then #if [[ -z "${isavatar}" ]] phototrimmed=$(echo "${photo}" | sed -e "s/https:\/\/${url}\/avatar/${avatarfolderescaped}/g" -e "s/\?ts.*//g") echo "${phototrimmed}" diff --git a/friendica-remove-invalid-photos.sh b/friendica-remove-invalid-photos.sh index 6d6f7a7..76ca3d0 100755 --- a/friendica-remove-invalid-photos.sh +++ b/friendica-remove-invalid-photos.sh @@ -42,7 +42,6 @@ until [[ $((nt + limit)) -gt ${dbcount} ]]; do batch=$(("${batch}" + 1)) #Read lastid outside of the loop with a temporary file if [[ -f /tmp/lastid && -s /tmp/lastid ]]; then - count=0 while read -r n_i nt_i lastid_i; do if [[ -s "${n_i}" ]]; then n="${n_i}" @@ -116,9 +115,11 @@ until [[ $((nt + limit)) -gt ${dbcount} ]]; do fi fi error_found=1 - k_photo_delta=$(echo "${photo}" | sed -e "s/.*?ts=//g") + k_photo_delta="${photo//.*?ts=//}" + #k_photo_delta=$(echo "${photo}" | sed -e "s/.*?ts=//g") else - k_photo_original_time=$(echo "${photo}" | sed -e "s/.*?ts=//g") + #k_photo_original_time=$(echo "${photo}" | sed -e "s/.*?ts=//g") + k_photo_original_time="${photo//.*?ts=//}" k_photo_found_time=$(stat -c%W "${k_photo}") k_photo_delta=$((k_photo_found_time - k_photo_original_time)) fi diff --git a/friendica-remove-old-photos-parallel.sh b/friendica-remove-old-photos-parallel.sh index 517be4f..7e0272a 100755 --- a/friendica-remove-old-photos-parallel.sh +++ b/friendica-remove-old-photos-parallel.sh @@ -8,6 +8,7 @@ folder=/var/www/friendica folderavatar=/var/www/friendica/avatar loop() { #Parse each file in folder + folderescaped=${folder////\\/} ky=$(echo "${y}" | sed -e "s/${folderescaped}/https:\/\/${url}/g" -e "s/-[0-9]*\..*\$//g") f=$(sudo mariadb "${db}" -N -B -q -e "select photo from contact where photo like '${ky}%' limit 1") if [[ $? -eq 0 && -z ${f} && -f ${y} ]]; then @@ -23,7 +24,7 @@ loop() { date #Go to the Friendica installation cd "${folderavatar}" || exit -let "indexlength=37+${#url}" +#let "indexlength=37+${#url}" ((indexlength = 49 + ${#url})) sudo mariadb "${db}" -e "alter table contact add index if not exists photo_index (photo(${indexlength}))" n=0 @@ -33,7 +34,7 @@ sudo find "${folderavatar}" -depth -mindepth 1 -maxdepth 1 -type d | while read #If the directory still exists if [[ -d "${x}" ]]; then folderescaped=${folder////\\/} - kx=$(echo "${x}" | sed -e "s/${folderescaped}/https:\/\/${url}/g" -e "s/-[0-9]*\..*\$//g") + #kx=$(echo "${x}" | sed -e "s/${folderescaped}/https:\/\/${url}/g" -e "s/-[0-9]*\..*\$//g") if [[ -d ${x} ]]; then m=0 while read -r y; do