#!/bin/bash
# Filename: ClamAV-scan
# Version: 291110
# Author: robz
# This runs clamscan via a "user crontab", scans reports & logs to your home
# directory every 3 days, or alter to your prefs. "30 19 */3 * * export
# DISPLAY=:0 && /home//.scripts/ClamAV-scan > /dev/null 2>&1" all on one
# line without the enclosing quotes.
# The patched notify-osd package is reqd. see this page for an explanation.
# http://www.webupd8.org/2010/05/finally-easy-way-to-customize-notify.html
# You might also need to "sudo chmod 444" some files to allow read access for
# "others", something to check if script fails see below.
LOGFILE="$HOME/ClamAV-scan-for-$(date +%A-%H:%M).log"
SUBJECT="ClamAV scan report:"
VERSION="271010"
TARGET=/home/robz1 # Where to scan.
SOUND=$HOME/Audio/HyprBlip.wav # Warning sound (file.wav)
ICON=$HOME/Pictures/user_graphics/Icons/clam.png # Find yourself an icon.
OSDRC=$HOME/.notify-osd
BBCOL="bubble-background-color = "
mod_osd () # Mod colours etc.
{
echo $SUBJECT >> $LOGFILE
sed -i "s/bubble-background-color.*/${BBCOL}/" $OSDRC
pkill notify-osd; notify-send -i "$ICON" "$SUBJECT"
# Next bit returns notify-osd to original check yours in "~/.notify-osd"
sed -i 's/bubble-background-color.*/bubble-background-color = 131313/' $OSDRC
/usr/bin/canberra-gtk-play --loop 2 --volume 6 -f $SOUND &
sleep 10; pkill notify-osd
}
rm -f "$HOME/ClamAV-scan-for-"*.log # Junk old logfile.
echo -e "$SUBJECT - $(date)\n" > $LOGFILE # Create new logfile.
echo -e "Script: $(basename $0) v$VERSION - for user: $LOGNAME" >> $LOGFILE
echo -e "Scanmode: Recursive\nFiles Scanned: $TARGET" >> $LOGFILE
# If nessesary, may fail otherwise!
sudo chmod 444 /var/lib/clamav/bytecode.cld /var/lib/clamav/main.cld\
/var/lib/clamav/daily.cld
# Read man clamscan to configure, this may require a tweak or not.
nice -n 19 /usr/bin/clamscan\
$TARGET\
--exclude-dir="$TARGET/Music"\
--exclude-dir="$TARGET/Audio"\
--exclude-dir="$TARGET/Pictures"\
--exclude-dir="$TARGET/.Private"\
--log=$LOGFILE\
--infected\
--recursive\
--max-files=500\
--max-recursion=8\
--max-dir-recursion=8
CLAMSCAN=$? # Exit status.
if [ "$CLAMSCAN" -eq "1" ]; then
SUBJECT=$SUBJECT" [VIRUS FOUND!]"
BBCOL=$BBCOL"ff0000"; mod_osd # Red osd warning.
elif [ "$CLAMSCAN" -gt "1" ]; then
SUBJECT=$SUBJECT" [ERROR $CLAMSCAN]"
BBCOL=$BBCOL"0000ff"; mod_osd # Blue advisory.
else SUBJECT=$SUBJECT" No virus Found"
SOUND=$HOME/Audio/2tone.wav # All OK sound (file.wav)
BBCOL=$BBCOL"00cc00"; mod_osd # Green OK, nothing found.
fi
# Filename: ClamAV-scan
# Version: 291110
# Author: robz
# This runs clamscan via a "user crontab", scans reports & logs to your home
# directory every 3 days, or alter to your prefs. "30 19 */3 * * export
# DISPLAY=:0 && /home/
# line without the enclosing quotes.
# The patched notify-osd package is reqd. see this page for an explanation.
# http://www.webupd8.org/2010/05/finally-easy-way-to-customize-notify.html
# You might also need to "sudo chmod 444" some files to allow read access for
# "others", something to check if script fails see below.
LOGFILE="$HOME/ClamAV-scan-for-$(date +%A-%H:%M).log"
SUBJECT="ClamAV scan report:"
VERSION="271010"
TARGET=/home/robz1 # Where to scan.
SOUND=$HOME/Audio/HyprBlip.wav # Warning sound (file.wav)
ICON=$HOME/Pictures/user_graphics/Icons/clam.png # Find yourself an icon.
OSDRC=$HOME/.notify-osd
BBCOL="bubble-background-color = "
mod_osd () # Mod colours etc.
{
echo $SUBJECT >> $LOGFILE
sed -i "s/bubble-background-color.*/${BBCOL}/" $OSDRC
pkill notify-osd; notify-send -i "$ICON" "$SUBJECT"
# Next bit returns notify-osd to original check yours in "~/.notify-osd"
sed -i 's/bubble-background-color.*/bubble-background-color = 131313/' $OSDRC
/usr/bin/canberra-gtk-play --loop 2 --volume 6 -f $SOUND &
sleep 10; pkill notify-osd
}
rm -f "$HOME/ClamAV-scan-for-"*.log # Junk old logfile.
echo -e "$SUBJECT - $(date)\n" > $LOGFILE # Create new logfile.
echo -e "Script: $(basename $0) v$VERSION - for user: $LOGNAME" >> $LOGFILE
echo -e "Scanmode: Recursive\nFiles Scanned: $TARGET" >> $LOGFILE
# If nessesary, may fail otherwise!
sudo chmod 444 /var/lib/clamav/bytecode.cld /var/lib/clamav/main.cld\
/var/lib/clamav/daily.cld
# Read man clamscan to configure, this may require a tweak or not.
nice -n 19 /usr/bin/clamscan\
$TARGET\
--exclude-dir="$TARGET/Music"\
--exclude-dir="$TARGET/Audio"\
--exclude-dir="$TARGET/Pictures"\
--exclude-dir="$TARGET/.Private"\
--log=$LOGFILE\
--infected\
--recursive\
--max-files=500\
--max-recursion=8\
--max-dir-recursion=8
CLAMSCAN=$? # Exit status.
if [ "$CLAMSCAN" -eq "1" ]; then
SUBJECT=$SUBJECT" [VIRUS FOUND!]"
BBCOL=$BBCOL"ff0000"; mod_osd # Red osd warning.
elif [ "$CLAMSCAN" -gt "1" ]; then
SUBJECT=$SUBJECT" [ERROR $CLAMSCAN]"
BBCOL=$BBCOL"0000ff"; mod_osd # Blue advisory.
else SUBJECT=$SUBJECT" No virus Found"
SOUND=$HOME/Audio/2tone.wav # All OK sound (file.wav)
BBCOL=$BBCOL"00cc00"; mod_osd # Green OK, nothing found.
fi
Powered by ScribeFire.
No comments:
Post a Comment