Updated script descriptions

Updated email address in scripts
Removed squidguard-blacklists.sh
This commit is contained in:
Matthew McKinnon 2016-06-07 20:42:19 +10:00
parent bb95025e81
commit 2cda37ccc8
8 changed files with 67 additions and 105 deletions

View File

@ -1,18 +1,19 @@
#!/bin/bash #!/bin/bash
# Script Name: 00logwatch
# Author: Matt McKinnon
# Date: 7th June 2016
# Description:
# This script will email a logwatch report
MAILTO="support@comprofix.com" MAILTO="support@comprofix.com"
SMTP=mail.comprofix.com SMTP=mail.comprofix.com
THISSERVER=`hostname --fqdn` THISSERVER=$(hostname -f)
MAILFROM="$(hostname)@$(dnsdomainname)" MAILFROM="$(hostname)@$(dnsdomainname)"
#Check if removed-but-not-purged #Check if removed-but-not-purged
test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0 test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0
#execute #execute
#/usr/sbin/logwatch --output mail /usr/sbin/logwatch > /tmp/logwatch
/usr/sbin/logwatch
sendemail -o tls=no -s $SMTP -t $MAILTO -f "$THISSERVER <$MAILFROM>" -u "[$THISSERVER] Logwatch" -m "$(cat /tmp/logwatch)" -q sendemail -o tls=no -s $SMTP -t $MAILTO -f "$THISSERVER <$MAILFROM>" -u "[$THISSERVER] Logwatch" -m "$(cat /tmp/logwatch)" -q
#Note: It's possible to force the recipient in above command
#Just pass --mailto address@a.com instead of --output mail

View File

@ -1,8 +1,9 @@
#!/bin/bash #!/bin/bash
# Script Name: maint.sh # Script Name: check_updates_deb
# Author Name: Keith Bawden # Author Name: Matt McKinnon
# Date: Wed May 17 15:40:32 JST 2006 # Date: 7th June 2016
# Description: This script will: # Description: For use on Debian Based Systems
# This script will:
# Clean up the local apt repository of retrieved packages (apt-get clean) # Clean up the local apt repository of retrieved packages (apt-get clean)
# Resync the package index (apt-get update) # Resync the package index (apt-get update)
# If called with AUTOUPDATE set to yes then updates will be downloaded and applied with no feed back (not recommended) # If called with AUTOUPDATE set to yes then updates will be downloaded and applied with no feed back (not recommended)
@ -114,7 +115,7 @@ then
apt-get -yqq upgrade > /dev/null apt-get -yqq upgrade > /dev/null
check_return "apt-get -yq upgrade" check_return "apt-get -yq upgrade"
else else
PACKAGES_TO_BE_UPGRADED=`apt-get -Vs upgrade | perl -ne 'print if /upgraded:/ .. /upgraded,/'` PACKAGES_TO_BE_UPGRADED=$(apt-get -Vs upgrade | perl -ne 'print if /upgraded:/ .. /upgraded,/')
apt-get -yqd upgrade > /dev/null apt-get -yqd upgrade > /dev/null
check_return "apt-get -yqd upgrade" check_return "apt-get -yqd upgrade"
fi fi

View File

@ -1,23 +1,22 @@
#!/bin/bash #!/bin/bash
# Script Name: check_updates_rpm.sh # Script Name: check_updates_rpm
# Author Name: Keith Bawden # Author Name: Matt McKinnon
# Modified by: Matthew McKinnon # Date: 7th June 2016
# Date: Wed May 17 15:40:32 JST 2006
# Updated: Mon Nov 22, 2015
# Description: For use on rpm based distros ie CentOS, Red Hat, Fedora # Description: For use on rpm based distros ie CentOS, Red Hat, Fedora
# This script will: # This script will:
# Clean up the local rpm repository of retrieved packages (yum clean) # Clean up the local rpm repository of retrieved packages (yum clean)
# Resync the package index (yum makecache) # Resync the package index (yum makecache)
# If called with AUTOUPDATE set to yes then SECURITY updates will be downloaded and applied. (The package yum-plugin-security is required Install using # If called with AUTOUPDATE set to yes then SECURITY updates will be downloaded and applied. (The package yum-plugin-security is required Install using
# yum install yum-plugin-security) # yum install yum-plugin-security)
# #
# Make user configuration changes in this section # Make user configuration changes in this section
# #
MAILTO="matthew@ambient-it.com.au" MAILTO="support@comprofix.com"
AUTOUPDATE="no" AUTOUPDATE="no"
LOGFILE="/var/log/server_maint.log" LOGFILE="/var/log/server_maint.log"
THISSERVER=`hostname --fqdn` THISSERVER=$(hostname -f)
# #
# End of user configuration section # End of user configuration section
@ -49,12 +48,12 @@ stoplogging() {
check_return() { check_return() {
if [ "$?" -ne "0" ] if [ "$?" -ne "0" ]
then then
echo "`date` [ERROR] $1 failed to run" >> $LOGFILE echo "$(date) [ERROR] $1 failed to run" >> $LOGFILE
send_error_email $1 send_error_email $1
stoplogging stoplogging
exit 1 exit 1
fi fi
echo "`date` [SUCCESS] $1 ran without error" >> $LOGFILE echo "$(date) [SUCCESS] $1 ran without error" >> $LOGFILE
} }
send_error_email() { send_error_email() {
@ -115,7 +114,7 @@ fi
if [[ -z $PACKAGES_TO_BE_UPGRADED ]] if [[ -z $PACKAGES_TO_BE_UPGRADED ]]
then then
echo "`date` [MESSAGE] No packages need updating." >> $LOGFILE echo "$(date) [MESSAGE] No packages need updating." >> $LOGFILE
else else
echo " echo "

View File

@ -1,11 +1,26 @@
#!/bin/bash #!/bin/bash
bakdate=$(date +%Y%m%d%H%M) # Script Name: dbbackup
# Author: Matt McKinnon
# Date: 7th June 2016
# Description:
# This script will backup your mysql databases.
# Send an email report of databases that have been backed up.
# Rotate backups for 7 days
#
# NOTE:
# A user will need to be grated permissions on the databases
# Login to mysql with your root user.
#
# CREATE USER 'dbbackup'@'localhost' IDENTIFIED BY 'PASSWORD';
# GRANT LOCK TABLES, SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER ON *.* TO 'backup'@'localhost';
SUBJECT="Database Backup Completed $BAKDATE"
MAILTO="support@comprofix.com"
BAKDATE=$(date +%Y%m%d)
DBUSER='dbbackup' DBUSER='dbbackup'
DBPASS='EWFfP3GZsqr427Yj' DBPASS='EWFfP3GZsqr427Yj'
BACKUPDIR='/BACKUP/db/' BACKUPDIR='/BACKUP/db/'
rotate_backups() { rotate_backups() {
find $BACKUPDIR -type f -mtime +7 -exec rm -frv {} \; find $BACKUPDIR -type f -mtime +7 -exec rm -frv {} \;
@ -13,12 +28,15 @@ rotate_backups() {
rotate_backups rotate_backups
databases=`mysql --user=$DBUSER --password=$DBPASS -e "SHOW DATABASES;" | tr -d "| " | grep -v Database` databases=$(mysql --user=$DBUSER --password=$DBPASS -e "SHOW DATABASES;" | tr -d "| " | grep -v Database)
for db in $databases; do for db in $databases; do
if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
echo "Dumping database: $db" echo "Dumping database: $db" >> /tmp/dbbackup.msg
mysqldump --force --opt --user=$DBUSER --password=$DBPASS --databases $db > $BACKUPDIR/$db.`date +%Y%m%d`.sql mysqldump --force --opt --user=$DBUSER --password=$DBPASS --databases $db > $BACKUPDIR/$db.$BAKDATE.sql
fi fi
done done
cat /tmp/dbbackup.msg | mail -s "$SUBJECT" "$MAILTO"
rm -fr /tmp/dbbackup.msg

View File

@ -1,8 +1,14 @@
#!/bin/bash #!/bin/bash
# Script Name: diskalert
# Author: Matt McKinnon
# Date: 7th June 2016
# Description:
# This script will email when diskspace is high.
MAILTO="support@comprofix.com" MAILTO="support@comprofix.com"
SMTP=mail.comprofix.com SMTP=mail.comprofix.com
LOGFILE="/var/log/diskalert.log" LOGFILE="/var/log/diskalert.log"
THISSERVER=`hostname --fqdn` THISSERVER=$(hostname -f)
MAILFROM="$(hostname)@$(dnsdomainname)" MAILFROM="$(hostname)@$(dnsdomainname)"
startlogging() { startlogging() {
@ -53,7 +59,7 @@ See the logfile for more info: vim $LOGFILE
Regards, " >/tmp/diskalertmail.msg Regards, " >/tmp/diskalertmail.msg
cat /tmp/diskalertmail.msg | sendemail -o tls=no -s $SMTP -t $MAILTO -f "$THISSERVER <$MAILFROM>" -u "[$THISSERVER] is running out of disk space" sendemail -o tls=no -s $SMTP -t $MAILTO -f "$THISSERVER <$MAILFROM>" -u "[$THISSERVER] is running out of disk space" -m "$(cat /tmp/diskalertmail.msg)"
echo "$(date) [MESSAGE] Running out of disk space email sent to $MAILTO" >> $LOGFILE echo "$(date) [MESSAGE] Running out of disk space email sent to $MAILTO" >> $LOGFILE
fi fi

View File

@ -1,8 +1,13 @@
#!/bin/bash #!/bin/bash
# Script Name: mailQWatch
# Author: Matt McKinnon
# Date: 7th June 2016
# Description:
# This script will email a report mailq on postfix is high.
QUEUELIMIT=75 QUEUELIMIT=75
SUBJECT="Mail Queue on $HOST is currently $QUEUECOUNT" SUBJECT="Mail Queue on $HOST is currently $QUEUECOUNT"
MAILTO="mmckinnon@comprofix.com" MAILTO="support@comprofix.com"
HOST=$(/bin/hostname) HOST=$(/bin/hostname)
POSTQUEUE=$(which postqueue) POSTQUEUE=$(which postqueue)

View File

@ -1,11 +1,15 @@
#!/bin/sh #!/bin/bash
# Script Name: rkhunter
# Author: Matt McKinnon
# Date: 7th June 2016
# Description:
# This script will email a logwatch report
MAILTO="support@comprofix.com" MAILTO="support@comprofix.com"
SMTP=mail.comprofix.com SMTP=mail.comprofix.com
THISSERVER=`hostname -f` THISSERVER=$(hostname -f)
MAILFROM="support@comprofix.com" MAILFROM="support@comprofix.com"
( (
/usr/bin/rkhunter --versioncheck --nocolors /usr/bin/rkhunter --versioncheck --nocolors
/usr/bin/rkhunter --update --nocolors /usr/bin/rkhunter --update --nocolors
/usr/bin/rkhunter --cronjob --report-warnings-only --nocolors /usr/bin/rkhunter --cronjob --report-warnings-only --nocolors
) | /usr/bin/sendemail -o tls=no -s $SMTP -t $MAILTO -f "$THISSERVER <$MAILTO>" -u "[rkhunter] Daily Log $THISSERVER" -q ) | /usr/bin/sendemail -o tls=no -s $SMTP -t $MAILTO -f "$THISSERVER <$MAILTO>" -u "[rkhunter] Daily Log $THISSERVER" -q

View File

@ -1,72 +0,0 @@
#!/bin/bash
#
# squidGuard blacklists - download & install script to
# download blacklists from Shalla Secure Services @
# http://squidguard.shalla.de/Downloads/shallalist.tar.gz
#
# created by Steve Olive - oz.ollie[at]gmail.com
# ver 0.8 20071204 15:05 GMT+10
# Creative Commons Attribution-Share Alike 3.0 License
# http://creativecommons.org/licenses/by-sa/3.0/
#
#
# _________ ____ ____________ _______ ___________________
# ______ /__________ |/ /___ ____/________ ___ |__ ____/___ ____/
# _ __ / __ ___/__ / ______ \ ___ __ \__ /| |_ / __ __/
# / /_/ / _ / _ | ____/ / __ /_/ /_ ___ |/ /___ _ /___
# \__,_/ /_/ /_/|_| /_____/ _ .___/ /_/ |_|\____/ /_____/
# /_/ drxspace@gmail.com
#
ROOTLS=/tmp
cd ${ROOTLS} || { echo "Can't find root's squidGuard directory."; exit 1; }
SQUID=$(which squid3)
SQUIDGRD=$(which squidGuard)
[[ -f ${CONFFILE:="/etc/squidguard/squidGuard.conf"} ]] || { echo "Can't find squidGuard conf file."; exit 1; }
DATADIR=$(grep ^dbhome ${CONFFILE} | cut -d' ' -f2)
# download latest file - overwrite any existing file
echo 'Downloading new blacklists...'
wget -nv 'http://www.shallalist.de/Downloads/shallalist.tar.gz' -a /var/log/blacklists.log
# extract blacklists
tar -zxf shallalist.tar.gz
echo 'New lists downloaded and decompressed.'
# remove old database folders
test -d ${DATADIR} || mkdir -p ${DATADIR}
echo 'Removing old lists...'
rm -Rf ${DATADIR}/*
# copy downloaded blacklists to db home
echo 'Copying new lists...'
cp -R ${ROOTLS}/BL/* ${DATADIR}
# create my whitelist/blacklist directories and copy files
#mkdir -p ${DATADIR}/white ${DATADIR}/black
#cp -R ${ROOTLS}/white/* ${DATADIR}/white
#cp -R ${ROOTLS}/black/* ${DATADIR}/black
echo 'Changing ownership...'
chown -R proxy:proxy ${DATADIR}/../
find ${DATADIR} -type d | xargs chmod -R 2750
# This script performs a database rebuild for any blacklists listed in the default Squidguard config file `/etc/squid/squidGuard.conf'.
#/usr/sbin/update-squidguard -c
# build domains + urls db, then change ownership to squid user
echo 'Building database. Please wait...'
su - proxy -c "$SQUIDGRD -b -C all"
echo 'Database builds complete.'
$SQUID -k reconfigure
echo 'Squid Proxy Server reconfigured'
echo 'Cleaning space...'
rm -Rf ${ROOTLS}/BL
rm -f ${ROOTLS}/shallalist.tar.gz
echo "$(date +"%c") Blacklists updated ok." >> /var/log/blacklists.log
exit 0