salt/states/roles/maintain/mirrorlist/getmirrors.sh

23 lines
771 B
Bash

cd /root/scripts
curl 'https://www.archlinux.org/mirrorlist/?country=CA&country=US&protocol=http&protocol=https&ip_version=4&use_mirror_status=on)' > tempMirrors.list
sleep 10
sed -i 's/^#Server/Server/' tempMirrors.list
cat tempMirrors.list | grep -e "Server = .*\/[$]repo\/os\/[$]arch" > tempMirrors2.list
mirrors=$(rankmirrors -n 10 tempMirrors2.list | grep "Server = ")
echo "$mirrors" > mirrors.list
mirrors=$(cat mirrors.list)
echo "$mirrors" > mirrors.jinja
sed -i 's/^Server = //' mirrors.jinja
sed -i 's/[$]repo\/os\/[$]arch//' mirrors.jinja
mirrors=$(cat mirrors.jinja)
jinja="{%- set mirrors=["
for url in $mirrors; do
jinja=$jinja"'"$url"',"
done
jinja=${jinja%?}
jinja=${jinja}"] -%}"
echo $jinja > mirrors.jinja
rm tempMirrors.list
rm tempMirrors2.list