61 lines
1.7 KiB
Bash
61 lines
1.7 KiB
Bash
#!/bin/bash
|
|
home_dir="/home/lucas"
|
|
green="\e[32m"
|
|
red="\e[31m"
|
|
norm="\e[0m"
|
|
write_out() {
|
|
if [ "${MAIL}" == "true" ]; then
|
|
printf "$@\n" >> /tmp/update.txt
|
|
else
|
|
printf "$@\n"
|
|
fi
|
|
}
|
|
MAIL=false
|
|
echo Start Update
|
|
date="$(date +"%m%d%H")"
|
|
if [ "$1" == "-mail" ]; then
|
|
> /tmp/update.txt
|
|
exec 3>&1 4>&2 1>"${home_dir}.LOG/log_update_$date.log" 2>&1
|
|
MAIL=true
|
|
green=""
|
|
red=""
|
|
norm=""
|
|
fi
|
|
write_out "Start: $(date)"
|
|
CMD=("apt -y update" "apt -y upgrade" "apt -y dist-upgrade" "apt -y autoclean" "apt -y autoremove" "find ${home_dir}/.LOG/ -name log_update_* -mtime +6 -type f -delete")
|
|
MSG=("update" "upgrade" "dist-upgrade" "autoclean" "autoremove" "Log File Remove")
|
|
for ((i=0;i<${#CMD[@]};i++)); do
|
|
if [[ $(echo ${CMD[$i]} | grep pip3) != "" ]] && [[ $(hostname) == "raspberry" ]]; then
|
|
continue
|
|
fi
|
|
printf "${CMD[$i]}\n"
|
|
eval ${CMD[$i]}
|
|
if [ $? -ne 0 ] ; then
|
|
write_out "${MSG[$i]}\t\t\t\t[${red}FAIL${norm}]\n"
|
|
else
|
|
write_out "${MSG[$i]}\t\t\t\t[${green}OK${norm}]\n"
|
|
fi
|
|
done
|
|
|
|
if [[ -f /home/lucas/tools/spotdl_venv/bin/pip3 ]]; then
|
|
CMD=("spotdl" "youtube-dl" "yt-dlp")
|
|
for ((i=0;i<${#CMD[@]};i++)); do
|
|
printf "Package ${CMD[$i]}\n"
|
|
if [[ "$(sudo -u lucas /home/lucas/tools/spotdl_venv/bin/pip3 list | grep ${CMD[$i]})" != "" ]]; then
|
|
sudo -u lucas /home/lucas/tools/spotdl_venv/bin/pip3 install --upgrade ${CMD[$i]}
|
|
fi
|
|
if [ $? -ne 0 ] ; then
|
|
write_out "${MSG[$i]}\t\t\t\t[${red}FAIL${norm}]\n"
|
|
else
|
|
write_out "${MSG[$i]}\t\t\t\t[${green}OK${norm}]\n"
|
|
fi
|
|
done
|
|
else
|
|
echo No Spotdl venv installed
|
|
fi
|
|
if [ "${MAIL}" == "true" ]; then
|
|
mail_str="$(cat /tmp/update.txt)"
|
|
echo "$mail_str" | mail -s "Automated Servermessage - Upgrade" lucas-f@live.at
|
|
fi
|
|
|