Архив для ‘ Scripts ’ Категории

huawei e1550 + Smstools3

Конфиги

/etc/smsd.conf

# Example smsd.conf. Read the manual for a description

devices = GSM1
logfile = /var/log/smsd.log
loglevel = 3

outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
incoming = /var/spool/sms/incoming
sent = /var/spool/sms/sent

delaytime = 6
errorsleeptime = 12
blocktime = 180
autosplit = 3
receive_before_send = yes
decode_unicode_text = yes
eventhandler = /etc/sms_events.sh

[GSM1]
#device = /dev/gsmmodem
device = /dev/ttyUSB1
baudrate = 115200
report = yes
rtscts = no
#init = AT+CPMS="SM","SM",""
init = AT+CPMS="SM","SM","SM"
#check_memory_metod = 2
check_memory_method = 31
signal_quality_ber_ignore = yes
incoming = yes
incoming = high

 

/etc/sms_events.sh - исполняет команду по смс вида #/etc/now_time_money.sh

#! /bin/bash

COMMAND_CHAR="#"
#INCOMING_DIR=/var/spool/sms/incoming
ALLOW_PHONES="7916xxxxxxx 7965xxxxxxx"
SEND_BACK_REPORT=NO

[ "$1" = "RECEIVED" ] || exit 0

to_log(){
    text=$1
    export LANG=en_EN
    log_date=`date "+%b %d %H:%M:%S "`
    log_host=`hostname -s`
    echo "$log_date $log_host $text" >> /var/log/smsd.log
}

File=$2

Allow=0
for Phone in $ALLOW_PHONES; do
    cat $File | grep "From: $Phone" > /dev/null 2>&1
    [ $? -eq 0 ] && Allow=1
done;

[ $Allow -eq 0 ] && exit 0

cat $INCOMING_DIR/$File | grep "$COMMAND_CHAR"
[ $? -ne 0 ] && exit 0

FromPhone=`cat $File | grep "From:" | cut -d " " -f2`

command=`cat $File | grep "$COMMAND_CHAR" | cut -d "$COMMAND_CHAR" -f2`
to_log "Incoming command: $command from $FromPhone"
out=`$command`

if [ "$SEND_BACK_REPORT" = "YES" ]; then
    smssend $FromPhone "$out"
    to_log "Send sms to $FromPhone: $out"
fi
rm -f $File
to_log "Deleting file $File"

 

/etc/sms3_monitoring —  рестарт при ошибке железа — cron — */5 *   * * *   root    /etc/sms3_monitoring

#!/bin/bash
rm /root/buffer_sms_file
date=`date`
tail -n5 /var/log/smsd.log > /root/buffer_sms_file
cat /root/buffer_sms_file | grep "Error: Modem is not registered to the network"
if [ $? -eq 0 ]; then
        /etc/init.d/sms3 restart
        tar cvfz /var/log/smsd.log /var/log/sms_erlog_$date.log
        shutdown -rf now
fi

cat /root/buffer_sms_file | grep "Error: registration is denied"
if [ $? -eq 0 ]; then
        /etc/init.d/sms3 restart
        tar cvfz /var/log/smsd.log /var/log/sms_erlog_$date.log
        shutdown -rf now
        fi

cat /root/buffer_sms_file | grep "Modem handler 0 terminated abnormally"
if [ $? -eq 0 ]; then
        /etc/init.d/sms3 restart
        tar cvfz /var/log/smsd.log /var/log/sms_erlog_$date.log
        shutdown -rf now
        fi

cat /root/buffer_sms_file | grep "write_to_modem: error 5: Input/output error"
if [ $? -eq 0 ]; then
        /etc/init.d/sms3 restart
        tar cvfz /var/log/smsd.log /var/log/sms_erlog_$date.log
        shutdown -rf now

        fi
cat /root/buffer_sms_file | grep "Couldn't open serial port /dev/ttyUSB"
if [ $? -eq 0 ]; then
        /etc/init.d/sms3 restart
        tar cvfz /var/log/smsd.log /var/log/sms_erlog_$date.log
        shutdown -rf now
        fi

 

 

 

Bash проверки существования файла, директории, пользователя

Проверка существования файла:
if ! [ -f /path/to/file ]; then
echo 'No file'
fi

Проверка существования директории:
if ! [ -d /path/directory/ ]; then
echo 'No directory'
fi

Проверка существования пользователя:
grep "username:" /etc/passwd >/dev/null
if [ $? -ne 0 ]; then
echo 'No username found'
fi

сравнение целых чисел

-eq
равно

if [ "$a" -eq "$b" ]

-ne
не равноif [ "$a" -ne "$b" ]

-gt
большеif [ "$a" -gt "$b" ]

-ge
больше или равноif [ "$a" -ge "$b" ]

-lt
меньшеif [ "$a" -lt "$b" ]

-le
меньше или равноif [ "$a" -le "$b" ]

<
меньше (внутри двойных круглых скобок )(("$a" < "$b"))

<=
меньше или равно (внутри двойных круглых скобок)(("$a" <= "$b"))

>
больше (внутри двойных круглых скобок)(("$a" > "$b"))

>=
больше или равно (внутри двойных круглых скобок)(("$a" >= "$b"))

сравнение строк

=
равно

if [ "$a" = "$b" ]

==
равноif [ "$a" == "$b" ]

Синоним оператора =.

[[ $a == z* ]]    # истина, если $a начинается с символа "z" (сравнение по шаблону)
[[ $a == "z*" ]]  # истина, если $a равна z*

[ $a == z* ]      # имеют место подстановка имен файлов и разбиение на слова
[ "$a" == "z*" ]  # истина, если $a равна z*

# Спасибо S.C.
!=
не равноif [ "$a" != "$b" ]

Этот оператор используется при поиске по шаблону внутри [[ … ]].

<
меньше, в смысле величины ASCII-кодовif [[ "$a" < "$b" ]]

if [ "$a" \< "$b" ]

Обратите внимание! Символ «<» необходимо экранировать внутри [ ].

>
больше, в смысле величины ASCII-кодовif [[ "$a" > "$b" ]]

if [ "$a" \> "$b" ]

Обратите внимание! Символ «>» необходимо экранировать внутри [ ].

См. Пример 25-6 относительно применения этого оператора сравнения.

-z
строка «пустая», т.е. имеет нулевую длину
-n
строка не «пустая».

Cron незабывалка

cron

 

 

Как настраивать cron

Конфигурирование сценариев cron производится через unix shell. Прежде всего нужно определить какие программы вы хотите запускать и узнать полные пути к ним на диске сервера. Для этого перейдите с помощью команды cd в каталог где находится запускаемая программа и узнайте полный путь к этому каталогу с помощью команды pwd. Путь может выглядеть например как /home/u12345/scripts/script.pl. Убедитесь что файл, который вы хотите запускать, имеет права на чтение+исполнение (r+x) для владельца файла.

Поменять права на нужные можно командой:

chmod 750 script.pl

 

Далее выполните команду crontab -e. Вы окажетесь в текстовом редакторе vi, где сможете вводить текст сценария для cron. Краткая справка по редактору vi:

  • для вставки текста нажмите i, затем вводите текст
  • для удаления символов нажмите ESC, а затем наберите x
  • для выхода из vi без сохранения изменений нажмите ESC, а затем наберите :q!
  • для сохранения и выхода нажмите ESC, а затем наберите :wq

Задания для cron пишутся по одному в строке. После каждой строки, в том числе после последней или единственной, обязательно нужно нажать enter — иначе задания работать не будут.

Задание для cron выглядит как строка, в начале находятся пять обязательных полей для указания периодичности задания, а далее следует команда, которую нужно запускать:

поле1 поле2 поле3 поле4 поле5 команда

 

Значения первых пяти полей:

  1. минуты — число от 0 до 59
  2. часы — число от 0 до 23
  3. день месяца — число от 1 до 31
  4. номер месяца в году — число от 1 до 12
  5. день недели — число от 0 до 7 (0-Вс,1-Пн,2-Вт,3-Ср,4-Чт,5-Пт,6-Сб,7-Вс)

Для каждого конкретного параметра можно задать несколько значений через запятую. Например, если в поле «часы» написать 1,4,22, то задание будет запущено в 1 час ночи, в 4 часа утра и в 22 часа. Можно задать интервал — 4-9 будет означать, что программу нужно запускать каждый час в период с 4 до 9 часов включительно. Символ ‘*‘ означает «все возможные значения». Например, указание ‘*‘ в поле «часы» будет означать «запускать каждый час». Символ ‘/‘ служит для указания дополнительной периодичности задания. Например, ‘*/3‘ в поле «часы» означает «каждые три часа».

Итак, как выглядит простейший сценарий cron:

0 */3 * * 2,5 /home/u12345/script.pl

 

Скрипт /home/u12345/script.pl будет автоматически запускаться каждые три часа во вторник и в пятницу. Введя такой сценарий в редакторе vi выйдите с сохранением результатов редактирования и, если вы не допустили ошибок, задание будет поставлено на выполнение с указанной периодичностью. Если при редактировании были допущены ошибки, cron сообщит вам о них.

Например:

/tmp/crontab.xxxxxxx: 1 строк, 9 символов
crontab: installing new crontab
"/tmp/crontab.xxxxxxx":1: bad minute
crontab: errors in crontab file, can't install
Do you want to retry the same edit?

 

Исправьте ошибки и попробуйте сохранить задание опять.

Посмотреть список уже установленных в cron сценариев можно командой crontab -l:

-bash-2.05b$ crontab -l
0 */3 * * 2,5 /home/u12345/script.pl

 

Рекомендация: если требуется запускать какую-то программу один раз в день, особенно если она требует для выполнения больших ресурсов, выполняйте такое задание ночью, в период с 2 до 8 часов — нагрузка на серверы в это время минимальна.

Примеры использования cron

Ниже приводятся примеры заданий для cron. Надеемся, эта информация поможет вам лучше понять работу этой программы.

# выполнять задание раз в час в 0 минут
0 */1 * * * /home/u12345/script.pl

# выполнять задание каждые три часа в 0 минут
0 */3 * * * /home/u12345/script.pl

# выполнять задание по понедельникам в 1 час 15 минут ночи
15 1 * * 1 /home/u12345/script.pl

# выполнять задание 5 апреля в 0 часов 1 минуту каждый год
1 0 5 4 * /home/u12345/script.pl

# выполнять задание в пятницу 13 числа в 13 часов 13 минут
13 13 13 * 5 /home/u12345/script.pl

# выполнять задание ежемесячно 1 числа в 6 часов 10 минут
10 6 1 * * /home/u12345/script.pl

 

Как запускать PHP-скрипты по расписанию

Вы можете выполнять запуск скриптов на языке PHP в указанное время с желаемой периодичностью. Для этого требуется использоватьPHP-CLI интерпретатор, пример использования которого описан здесь.

Поскольку не все PHP-программы могут работать через CLI SAPI без предварительной модификации, можно запускать их через wget. Например:

/usr/local/bin/wget -O /dev/null -q http://mysite.tld/cron.php?action=123

 

Если в скрипте используются функции requireinclude, причём в них указаны относительные пути, то в начале выполняемого скрипта используйте вызов функции chdir(), которая задаст текущую рабочую директорию.

Как получать сообщения об ошибках от программ, запускаемых cron

Если при выполнении программы, которая запускается из cron, возникли ошибки, наверняка вы захотите получать сообщения об этих ошибках, чтобы полностью контролировать работу периодически запускаемых заданий. Для этого в начале cron-сценария поместите такую строку:

MAILTO=адрес@домен.ru

 

Конечно, адрес@домен.ru нужно заменить на реально существующий адрес электронной почты куда надо будет доставлять уведомления. Если нужно получать сообщения об ошибках на несколько адресов, укажите все эти адреса через запятую.

Обратите внимание на то, что cron будет присылать по почте то, что выводят запускаемые скрипты. Например, если вы напишете скрипт, который будет печатать строчку «Hello, world» и поставите его на выполнение через cron, вы будете получать по почте письмо со строкой «Hello, world» каждый раз, когда cron будет запускать такой скрипт.

Чтобы избежать этого, например когда текст, выводимый скриптом, вам не нужен, надо добавить в конец строки-сценария для cron символы

> /dev/null 2>&1

 

Полностью строка для cron будет выглядеть так:

  • Для PHP4:

    0 1 * * * /usr/local/bin/php -q $HOME/script.php > /dev/null 2>&1
  • Для PHP5:

    0 1 * * * /usr/local/bin/php -q $HOME/script.php > /dev/null 2>&1

Рекомендуем проверять корректность синтаксиса скриптов, которые вы устанавливаете на выполнение через cron. Скрипты могут содержать ошибку, могут неодинаково работать при запуске через веб-сервер и через cron и так далее. Для того, чтобы убедиться что скрипт будет правильно работать через cron, предварительно проверьте его такой командой в unix shell:

  • Для PHP4:

    /usr/local/bin/php -l script.php
  • Для PHP5:

    /usr/local/bin/php -l script.php

Если ошибок в скрипте нет, вы увидите сообщение «No syntax errors detected in script.php».

Ограничения

Для программ, которые запускаются через cron, действуют такие же ограничения по потребляемым ресурсам, как для процессов, запускаемых пользователем в unix shell. Речь идет об ограничениях на время выполнения программы, количеству доступной памяти, ограничениях на размер файлов и так далее.

Кроме того, существует ограничение на периодичность запуска программ из cron. Пользователь может запускать свои программы таким образом не чаще чем 1 раз в 1 час.

Спасибо : http://masterhost.ru/support/doc/cron/

 

cron

Планировщик задач в Linux играет незаменимую роль в автоматизации администрирования операционной системы. Роль планировщика задач выполняет демон cron (crond — в некоторых дистрибутивах). Демон cronобычно запускается процессом init в момент запуска системы. После запуска, демон cron ежеминутно просматривает свои таблицы, в которых содержатся информация о периодичности запуска команд и запускает команды, когда значения полей  минута,  час, месяц и хотя бы одно из полей число и день_недели, совпадают с текущим временем. Основной конфигурационный файл демона cron — /etc/crontab:

cron:~#cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

В /etc/crontab задания выполняются с помощью команды run-parts, которая запускает скрипты и программы из указанных каталогов (/etc/cron.hourly, /etc/cron.daily и т.д.). Каждая строка запускает из соответствующего каталога задания ежечасно, ежедневно, еженедельно и ежемесячно, соответственно строкам сверху вниз. Обратите внимание, что все команды здесь запущены от имени пользователя root. Заметьте также, что crontab может содержать присваивания значений переменным shell, которые будут установлены перед запуском команды.

Так же, если необходимо запускать какие-то команды по особому расписанию (не ежечасно, ежедневно, еженедельно и ежемесячно), то таблицы заданий помещаются в каталог /etc/cron.d/.

Каждый пользователь системы имеет свой файл заданий crontab, в котором описано, в какое время и какие программы запускать от имени этого пользователя. Для редактирования файла crontab используется специальная одноименная программа crontab, позволяющая не прерывать процесс cron на время редактирования. Редактировать вручную таблицы cron не рекомендуется. Файлы таблиц планировщика cron для пользователей могут храниться в следующих каталогах:

/var/spool/cron — RedHat
/var/spool/cron/crontabs — debian,ubuntu
/var/spool/cron/tabs — SUSE

Каждая строка планировщика имеет следующий формат:

* * * * * {пользователь} выполняемая_команда
- - - - -
| | | | |
| | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
| | | ------- Месяц (1 - 12) (можно три буквы из названия месяца,
| | |                        регистр не имеет значения от jan до dec)
| | --------- День (1 - 31)
| ----------- Час (0 - 23)
------------- Минута (0 - 59)

В примере показан формат одной из строки таблицы, состоящий из 7 полей. Первые 5 полей  — это значения, задающие периодичность выполнения команды (расписание). 6-e поле присутствует только в таблицах /etc/crontab и др. расположенных в каталоге /etc/cron.d/. 7-е поле есть сама запускаемая команда. Командой может быть как простая команда, например, ls /proc >> /tmp/proc, или команда запуска написанного вами специального сценария. Со всей оставшаяся частью строки до символа перевода строки или символа %, будет выполнен вызов /bin/sh или другой оболочки, определенной в переменной SHELL в crontab. Знак процента (`%’ ) в команде (если он не экранирован обратной косой чертой (`\’ ) ) будет соответствовать символу перевода строки и все данные после первого `%’  будут посланы для команды на стандартный ввод.

Для указанных выше первых 5 полей, можно использовать звездочку (*), что означает все допустимые значения. Например, если поставить звёздочку в значении месяца, команда будет выполняться каждый месяц во время, указанное другими параметрами.

Дефис (-) между целыми числами обозначает диапазон чисел. Например, 1-4 означает целые числа 1, 2, 3 и 4.

Список значений, разделенных запятыми (,), обозначает перечень. Например, перечисление 3, 4, 6, 8 означает четыре указанных целых числа.

Косая черта (/) используется для определения шага значений. Если после диапазона указать /<целое_число>. Например, значение минут 0-59/2, определяет, что задание будет запущено каждую вторую минуту.

Вся оставшаяся часть строки до символа перевода строки или символа %, будет выполнен вызов /bin/sh или другой оболочки, определенной в переменной SHELL в crontab Знак процента (`%’ ) в команде (если он не экранирован обратной косой чертой (`\’ ) ) будет соответствовать символу перевода строки и все данные после первого `%’  будут посланы для команды на стандартный ввод.

Пример crontab-файла:

# выполнить команды hello каждый понедельник  в 3:30
30 3 * * mon hello
# выполнить команду hello в первый день каждого месяца в 4:10
10 4 1 * * hello
# выполнять каждый день в 0 часов 5 минут, результат складывать в log/daily
5 0 * * * $HOME/bin/daily.job >> $HOME/log/daily 2>&1
# каждый рабочий день в 22:00
0 22 * * 1-5 echo "Пора домой" | mail -s "Уже 22:00" john
23 */2 * * * echo "Выполняется в 0:23, 2:23, 4:23 и т. д."
5 4 * * sun echo "Выполняется в 4:05 в воскресенье"
0 0 1 1 * echo "С новым годом!"
15 10,13 * * 1,4 echo "Эта надпись выводится в понедельник и четверг в 10:15 и 13:15"
0-59 * * * * echo "Выполняется ежеминутно"
# каждые 5 минут
*/5 * * * * echo "Прошло пять минут"

anacron

anacron — (англ. anachronistic cron) асинхронный или анахроничный cron. Anacron в отличие от cron не поддерживает запуск заданий по расписанию, вместо этого задания запускаются с заданным интервалом времени. Это очень удобно для систем которые работают не регулярно, например домашние рабочие станции или ноутбуки. Anacron хранит метки времени файлов в /var/spool/anacron, чтобы записывать время выполнения заданий. При запуске anacron проверяет, прошло ли необходимое количество дней с тех пор, как задача была выполнена в последний раз, и при необходимости запускает ее. Задачи anacron хранятся в конфигурационном файле /etc/anacrontab. Синтаксис данного файла аналогичен /etc/crontab, за исключением полей таблиц:

* * * выполняемая_команда
- - -
| | |
| | --------- идентификатор
| ----------- задержка
------------- период

Период — период выполнения в днях. Задержка — задержка запуска в минутах. Идентификатор задания— любой непустой символ, кроме / \. Задержка чаще всего используется для того чтобы позволить системе полностью загрузиться.

На сегодня все. Давайте подведем маленький итог тому что сегодня узнали:

В Linux есть такой чудо демон — cronДемон cron при загрузке, а так же — после загрузки каждую минуту«шерстит» файл /etc/crontab, каталог /etc/cron.d/ и каталог с пользовательскими таблицами заданий (/var/spool/cron/crontabs) и сверяет текущее время и строку в «просматриваемом» файле и запускает указанную команду, когда значения полей  минута,  час, месяц и хотя бы одно из полей число и день_недели, совпадают с текущим временем.

Так же есть чудо-средство anacron, которое сравнивает не текущее время со временем задания в crontab, а сколько прошло времени с последнего запуска задания, указанного в /etc/anacrontab и если прошел указанный промежуток времени, то задание запускается.

спасибо: wiki + http://www.k-max.name/linux/planirovshhik-linux-cron-crontab-anacron/

Scripts antivirus

root@shop:~# cat scan_update 
#! /bin/bash
date=`date +"%Y_%m_%d"`
DIR=/root/log/$date
mailbox=dmurrdj@gmail.com
num=0

if [ -d /root/log ]; then
        echo "Directory log existing"
else
        mkdir  -p -m 777 /root/log
fi
# Создание папки для логов
	mkdir -p -m 777 $DIR
# Обновление rkhunter
	rkhunter --update | tee $DIR/rkhunter_update.log
# Сканирование rkhunter мини 
	rkhunter -c --sk --rwo --summary | tee $DIR/rkhunter_scan_mini.log
# Сканирование rkhunter полное
	rkhunter -c --sk --summary | tee $DIR/rkhunter_scan_max.log
# Сканирование chrootkit
	chkrootkit | tee $DIR/chrootkit_scan.log
# Включение обновление clamav
	/etc/init.d/clamav-freshclam start | tee $DIR/clamav_update.log
# Обновление баз clamav
	freshclam | tee $DIR/clamav_update.log
# Выключение обновление clamav
	/etc/init.d/clamav-freshclam stop | tee $DIR/clamav_update.log
# Сканирование БЕЗ УДАЛЕНИЯ ФАЙЛОВ
	clamscan -ri --scan-html --scan-elf --scan-pdf --scan-archive --bytecode / | tee $DIR/clamav_scan_wo_del.log
# Включение avg
	/etc/init.d/avgd start | tee $DIR/avg_update.log
# Обновление avg
	avgupdate | tee $DIR/avg_update.log
# Сканирование avg
	avgscan --arc --pup2 --coo --media --ignerrors --report $DIR/avg_scan_wo_del.log  /
# Выключение avg
	/etc/init.d/avgd stop | tee $DIR/avg_update.log

ip_addr=$(ip -4 addr show | tail -n1 | tr '\t' ' ' | tr -s ' ' | cut -d ' ' -f 3 | cut -d '/' -f 1)  
touch $DIR/summary.txt
chmod 777 $DIR/summary.txt
echo $ip_addr >> $DIR/summary.txt
echo $(hostname) >> $DIR/summary.txt
echo "==============================================================================" >> $DIR/summary.txt
echo "Summary scan" >> $DIR/summary.txt
echo "Scan rkhunter" >> $DIR/summary.txt
tail -n15 $DIR/rkhunter_scan_mini.log | tee $DIR/summary.txt
rootkit_num=$(cat $DIR/rkhunter_scan_mini.log | grep "Possible rootkits:" | tr '\t' ' ' | tr -s ' ' | cut -d ' ' -f 4)
	if [ $rootkit_num -ne 0 ]; then
	num=$(($num + 1))
	fi
echo "==============================================================================" >> $DIR/summary.txt
# Summary scan Clamav
echo "Scan clamav" >> $DIR/summary.txt
cat $DIR/clamav_scan_wo_del.log >> $DIR/summary.txt
clamav_num=$(cat $DIR/clamav_scan_wo_del.log | grep "Infected files" | tr '\t' ' ' | tr -s ' ' | cut -d ' ' -f 3)
	if [ $clamav_num -ne 0 ]; then
        num=$(($num + 2))
        fi
echo "==============================================================================" >> $DIR/summary.txt
# Summary scan AVG
echo "Scan AVG" >> $DIR/summary.txt
cat $DIR/avg_scan_wo_del.log >> $DIR/summary.txt
avg_num=$(cat $DIR/avg_scan_wo_del.log | grep "Infections found" |  tr '\t' ' ' | tr -s ' ' | cut -d ' ' -f 4 | cut -d "(" -f 1)
        if [ $avg_num -ne 0 ]; then
        num=$(($num + 4))
        fi
echo "==============================================================================" >> $DIR/summary.txt

last -a >> $DIR/summary.txt

# Send Email
#num=$(($rootkit_num + $clamav_num + $avg_num))
case $num in
        "0" )
                cat $DIR/summary.txt | mail -s "NORMAL - $ip_addr $(hostname) - Scan Antivir $ Rootkit" $mailbox
        ;;
        "1" )
                cat $DIR/summary.txt | mail -s "WARNING - RKHUNTER $ip_addr $(hostname) - Scan Antivir $ Rootkit" $mailbox
        ;;
        "2" )
                cat $DIR/summary.txt | mail -s "WARNING - CLAMAV $ip_addr $(hostname) - Scan Antivir $ Rootkit" $mailbox
        ;;
        "3" )
                cat $DIR/summary.txt | mail -s "WARNING - RKHUNTER & CLAMAV $ip_addr $(hostname) - Scan Antivir $ Rootkit" $mailbox
        ;;
        "4" )
                cat $DIR/summary.txt | mail -s "WARNING - AVG $ip_addr $(hostname) - Scan Antivir $ Rootkit" $mailbox
        ;;
        "5" )
                cat $DIR/summary.txt | mail -s "WARNING - RKHUNTER & AVG $ip_addr $(hostname) - Scan Antivir $ Rootkit" $mailbox
        ;;
        "6" )
                cat $DIR/summary.txt | mail -s "WARNING - CLAMAV & AVG $ip_addr $(hostname) - Scan Antivir $ Rootkit" $mailbox
        ;;
        "7" )
                cat $DIR/summary.txt | mail -s "WARNING - RKHUNTER & CLAMAV & AVG $ip_addr $(hostname) - Scan Antivir $ Rootkit" $mailbox
        ;;
	* )
                cat $DIR/summary.txt | mail -s "WARNING - Anknown summary works  $ip_addr $(hostname) - Scan Antivir $ Rootkit" $mailbox
        ;;
esac

# Create log archive
tar cjvf $DIR.tar.bz2 $DIR
rm -r $DIR