- Главная... 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


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

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

#COMMENT

Linux - производитель сетевой ...
Посмотрите # dmesg | grep eth0 скорее всего карточка гигаби...
14/05/12 08:48 More...
By H@wk!

Linux - производитель сетевой ...
А что конкретно является скоростью, size или capacity. У мен...
11/05/12 23:19 More...
By qweqwerty

Arch rankmirrors или делаем mi...
Можно команды в sh скрипт засунуть и выполнять кроном, но я ...
10/05/12 11:13 More...
By H@wk!

Arch rankmirrors или делаем mi...
не всегда все держится в голове, поэтому - спасибо за потрач...
10/05/12 10:47 More...
By x5

FreeBSD оптимизация сервера. В...
Отличный блог, побольше бы таких статей)
07/05/12 09:28 More...
By Артем

Сейчас на сайте находятся:
21 гостей

Нашли ошибку!

Выделите текст и нажмите:
[Shift]+[Enter]
[Отправить]
Спасибо!