Compare commits
2 commits
98c48e0440
...
59be4584d5
Author | SHA1 | Date | |
---|---|---|---|
59be4584d5 | |||
e3962133f0 |
6 changed files with 34 additions and 43 deletions
3
copy.sh
3
copy.sh
|
@ -1,7 +1,8 @@
|
|||
#!/bin/bash
|
||||
for i in ./*.sh; do
|
||||
shfmt -w "${i}"
|
||||
shellcheck -o all -f diff "${i}" | patch -p1
|
||||
shellcheck -o all -e SC2312 -f diff "${i}" | patch -p1
|
||||
shellcheck -o all -e SC2312 "${i}"
|
||||
i_tmp="${i##./}"
|
||||
find /etc/cron.* -iname "${i_tmp%.sh}" | while read -r j; do
|
||||
echo "${j}"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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}"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue