vhost-stack/update.sh

98 lines
2.9 KiB
Bash
Raw Normal View History

2021-08-15 12:41:47 -07:00
#!/bin/bash
2022-08-22 13:22:16 -07:00
#
# vhost-stack
# https://git.stack-source.com/msb/vhost-stack
# Copyright (c) 2022 Matthew Saunders Brown <matthewsaundersbrown@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
2021-08-15 12:41:47 -07:00
if [ "${EUID}" -ne 0 ]; then
echo "You must be root to run this installer."
exit
fi
# update repo
git pull
# update scripts in bin
chmod 755 bin/*
readarray -t bin_script_array < <(ls -1 bin/)
for bin_script in "${bin_script_array[@]}"; do
if [ -f /usr/local/bin/$bin_script ]; then
if ! diff -q bin/$bin_script /usr/local/bin/$bin_script ; then
echo "Updating /usr/local/bin/$bin_script"
cp bin/$bin_script /usr/local/bin/$bin_script
echo
fi
else
echo "Adding new script /usr/local/bin/$bin_script"
cp bin/$bin_script /usr/local/bin/$bin_script
echo
fi
done
2022-07-19 13:27:19 -07:00
# update scripts in bin
chmod 755 sbin/*
readarray -t sbin_script_array < <(ls -1 sbin/)
for sbin_script in "${sbin_script_array[@]}"; do
if [ -f /usr/local/sbin/$sbin_script ]; then
if ! diff -q sbin/$sbin_script /usr/local/sbin/$sbin_script ; then
echo "Updating /usr/local/sbin/$sbin_script"
cp sbin/$sbin_script /usr/local/sbin/$sbin_script
echo
fi
else
echo "Adding new script /usr/local/sbin/$sbin_script"
cp sbin/$sbin_script /usr/local/sbin/$sbin_script
echo
fi
done
2021-08-15 12:41:47 -07:00
# check etc configs for diffs
readarray -t etc_configs_array < <(find etc/ -type f)
for etc_config in "${etc_configs_array[@]}"; do
if [ -f /$etc_config ]; then
if ! diff -q $etc_config /$etc_config ; then
echo To update run:
echo diff $etc_config /$etc_config
echo cp $etc_config /$etc_config
echo
fi
else
echo "Adding new config file /$etc_config"
cp $etc_config /$etc_config
echo
fi
done
# update html/status.php
if ! diff -q html/status.php /srv/www/html/status.php ; then
cp html/status.php /srv/www/html/status.php
chmod 644 /srv/www/html/status.php
chown vhost:vhost /srv/www/html/status.php
echo "/srv/www/html/status.php updated"
echo
fi
# update libexec script
if ! diff -q libexec/command-not-found-handle /usr/local/libexec/command-not-found-handle ; then
cp libexec/command-not-found-handle /usr/local/libexec/command-not-found-handle
chmod 755 /usr/local/libexec/command-not-found-handle
echo "/usr/local/libexec/command-not-found-handle updated"
echo
fi
2022-07-19 15:56:12 -07:00
# check systemd timer for update
2022-10-21 14:43:49 -07:00
if ! diff -q systemd/webalizer.service /usr/local/lib/systemd/system/webalizer.service ; then
cp systemd/webalizer.service /usr/local/lib/systemd/system/webalizer.service
chmod 644 /usr/local/lib/systemd/system/webalizer.service
2022-07-19 15:56:12 -07:00
echo "systemd/webalizer.service updated"
echo
fi
2022-10-21 14:43:49 -07:00
if ! diff -q systemd/webalizer.timer /usr/local/lib/systemd/system/webalizer.timer ; then
cp systemd/webalizer.timer /usr/local/lib/systemd/system/webalizer.timer
chmod 644 /usr/local/lib/systemd/system/webalizer.timer
2022-07-19 15:56:12 -07:00
echo "systemd/webalizer.timer updated"
echo
fi