72 lines
1.8 KiB
Bash
Executable File
72 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
resum=0
|
|
while getopts 'r:' OPTION; do
|
|
case "$OPTION" in
|
|
r)
|
|
resum=1
|
|
;;
|
|
?)
|
|
echo "utilització: ./website-size.sh [-r (crear un fitxer resum)] example.org" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
# shift "$(($OPTIND -1))"
|
|
|
|
output="./${!#}.log"
|
|
sites_output="./${!#}_sites.log"
|
|
mides_output="./${!#}_mides.log"
|
|
resum_output="./${!#}_resum.log"
|
|
|
|
year=$(date +"%Y")
|
|
|
|
echo "Analitzant ${!#}..."
|
|
sleep 1s
|
|
echo "Pot tardar una estona..."
|
|
echo ""
|
|
|
|
wget \
|
|
--recursive --level=1 \
|
|
--spider --server-response \
|
|
--no-directories --no-parent \
|
|
-e robots=off \
|
|
--output-file="$output" "$@"
|
|
|
|
sleep 1s
|
|
if [ -f "$output" ]
|
|
then
|
|
# Calculate and print estimated website size
|
|
echo "Mida estimada de ${!#}: $(\
|
|
grep -e "Content-Length" "$output" | \
|
|
awk '{sum+=$2} END {printf("%.0f", sum / 1024)}'\
|
|
) kb"
|
|
echo ""
|
|
sleep 1s
|
|
grep -e "--$year" $output | awk '{printf("%s\n", $3)}' | sort | uniq >> $sites_output
|
|
sed -i '$ d' $sites_output
|
|
sed -i '1d' $sites_output
|
|
if [ $resum = 1 ]
|
|
then
|
|
echo "## Resum dels fitxers baixats en el fitxer $resum_output ##"
|
|
sleep 1s
|
|
while read line; do
|
|
wget --server-response --no-directories --spider -e robots=off --output-file="$mides_output" "$line"
|
|
echo "$line $(grep -e "Content-Length" $mides_output | awk '{printf("%.2fKb\n", $2 / 1024)}')"
|
|
rm $mides_output
|
|
done < $sites_output >> $resum_output
|
|
fi
|
|
#grep -e "Content-Length" $output | awk '{printf("%.2fKb\n", $2 / 1024)}' >> $mides_output
|
|
# echo "## Resum dels fitxers baixats ##"
|
|
# sleep 1s
|
|
#echo "$(paste $sites_output $mides_output | uniq)"
|
|
# Delete wget output file
|
|
rm "$output"
|
|
rm "$sites_output"
|
|
else
|
|
echo "Unable to calculate estimated size."
|
|
exit 1
|
|
fi
|
|
|
|
exit 0
|