- Главная... arrow - Статьи... arrow FreeBSD уведомление на почту, о необходимости обновить ПО

#Записки о Unix/Linux/BSD/Solaris

FreeBSD уведомление на почту, о необходимости обновить ПО
Автор Охальников Олег   
16:02:2011 г.
В статье "Скрипт обновления ПО FreeBSD" был приведен пример скрипта выполняющего обновление дерева портов, выявления устаревших и пересборку, но не всегда удобно вручную запускать этот скрипт для проверки, особенно когда серверов с десяток, поэтому создаем коротенький сценарий, который раз в сутки обновляет дерево портов, ищет устаревшие и если они есть - присылает отчет на e-mail администратора, ну а если обновлять не чего, то ни чего не присылает.

#!/bin/sh

# ---------------------------------------
# Created: Ohalnikov Oleg
# URL: http://unixa.ru
# Date: 2011-02-15
# ---------------------------------------

DATE=`date '+%Y-%m-%d'`
HOST='server.host.ru' # Доменное имя сервера, фигурирует в теме письма. 
# Необходимо, если серверов несколько. Если в качестве интерпретатора используется
# bash, то можно использовать глобальную переменную $HOSTNAME
csup -g -L 2 /etc/ports-supfile > /dev/null
pkgdb -F > /dev/null
if pkg_version -v | grep "need" > /dev/null
then
     pkg_version -v | grep "need" >> /root/script/ports
     mail -s "Port Update $HOST $DATE" Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script < /root/script/ports
     rm -f /root/script/ports
     exit 0
fi

Сохраняем как checkport.sh, я сохраняю в директории /root/script, если директория другая, то в скрипте поправьте пути, делаем файл исполняемым:

chmod u+x /root/script/checkport.sh

На почту приходит письмо примерно следующего содержания (в зависимости, что требует обновления):

mc-4.7.5 > succeeds index (index has 4.7.4_3)  
multitail-5.2.7 > succeeds index (index has 5.2.6)
mysql-client-5.1.55 > succeeds index (index has 5.1.54_1)
mysql-server-5.1.55 > succeeds index (index has 5.1.54_1)
phpMyAdmin-3.3.9.1 > succeeds index (index has 3.3.9)
portaudit-0.5.17 > succeeds index (index has 0.5.15)

Ну а дальше уже обновляем систему запуском ports.sh, если не сразу, а если сразу, то можно одной командой:

portupgrade -arR

Для автоматического выполнения скрипта, добавляем задание в крон:

# crontab -e

0 21 * * * /root/script/checkport.sh

Т.е. выполнять каждый день, в 21:00.

Материал подготовил:
Охальников Олег aka H@wk!  

Добавить коментарий
Имя:
E-mail
Коментарий:



Код:* Code


Просмотров: 4896

  Ваш коментарий будет первым
RSS комментарии
 
« FreeBSD устанавливаем Webmin   FreeBSD 8.1 обновление php5-5.3.3_2 до 5.3.4 - (httpd), uid 80: exited on signal 6 »

#COMMENT

Блокируем Ylmf-pc на Exim, Bru...
Благодарю за кучу уцелевших нервов:) постоянно приходилось б...
30/05/17 00:02 More...
By Mus

Установка даты и времени в кон...
Спасибо
12/05/17 17:49 More...
By dushka

Раскладка в rdesktop
Огромное спасибо!
28/04/17 14:01 More...
By Виктор

Аутентификация средствами Apac...
подскажите как писать пороль цифры ?пж! :sigh
28/03/17 13:06 More...
By Лиза

Logwatch - мониторинг журналов...
Отлично, очень не хватало. Автору большое спасибо, пиши еще.
25/01/17 02:44 More...
By Gregg