В поисках рецепта создания сабжа наткнулся на обсуждение в forum.lissyara.su. Взяв за основу опубликованный rambomax'ом скрипт, создал веб-зеркало для корпоративной сети.
Предполагается что веб-сервер уже настроен и работает.
- Устанавливаем программы из репозитария
$ sudo apt-get install wget unzip
- Создаем директории
$ sudo mkdir -p /scripts /www/avp-updates /var/samba/share/Avp
- Создаем скрипт обновления «
/scripts/avp-updates.sh
»#!/bin/sh
#--- BEGIN ---
AVURL=ftp://downloads1.kaspersky-labs.com/zips/
FTPDIR=/var/samba/share/Avp
AVPDIR=/www/avp-updates
WGET=/usr/bin/wget
UZIP=/usr/bin/unzip
$WGET -N --random-wait --retry-connrefused -P "$FTPDIR" -t 0 $AVURL/av-i386-cumul.zip
$UZIP -t $FTPDIR/av-i386-cumul.zip
FLAG_C=$?
$WGET -N --random-wait --retry-connrefused -P "$FTPDIR" -t 0 $AVURL/av-i386-weekly.zip
$UZIP -t $FTPDIR/av-i386-weekly.zip
FLAG_W=$?
$WGET -N --random-wait --retry-connrefused -P "$FTPDIR" -t 0 $AVURL/av-i386-daily.zip
$UZIP -t $FTPDIR/av-i386-daily.zip
FLAG_D=$?
#### EXTRACT FILES FROM ARCHIVE
/bin/rm -f $AVPDIR/*
if [ $FLAG_C -ne 0 ]
then
rm $FTPDIR/av-i386-cumul.zip
else
$UZIP -o $FTPDIR/av-i386-cumul.zip -d "$AVPDIR"
fi
if [ $FLAG_W -ne 0 ]
then
rm $FTPDIR/av-i386-weekly.zip
else
$UZIP -o $FTPDIR/av-i386-weekly.zip -d "$AVPDIR"
fi
if [ $FLAG_D -ne 0 ]
then
rm $FTPDIR/av-i386-daily.zip
else
$UZIP -o $FTPDIR/av-i386-daily.zip -d "$AVPDIR"
fi - Делаем скрипт исполняемым
$ sudo chmod +x /scripts/avp-updates.sh
- Настраиваем
crontab
на запуск нашего скрипта каждый день в два часа ночи$ sudo -s
# crontab -l 2>/dev/null > /tmp/avp-cron-XXX.tmp
# echo >> /tmp/avp-cron-XXX.tmp
# echo "0 2 * * * /scripts/avp-updates.sh" >> /tmp/avp-cron-XXX.tmp
# crontab /tmp/avp-cron-XXX.tmp
# rm /tmp/avp-cron-XXX.tmp
# exit - Создаем виртуальный хост в
apache2
для веб-зеркала.
Файл «/etc/apache2/sites-available/avp-updates
»<VirtualHost *:80>
ServerAdmin demiurg@avp-updates.www
DocumentRoot /www/avp-updates
ServerName avp-updates.www
ErrorLog /var/log/apache2/avp-updates_error-log
CustomLog /var/log/apache2/avp-updates_log common
<Directory "/www/avp-updates">
Options Indexes
AllowOverride None
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost> - Активируем созданный хост
$ sudo ln -s ../sites-available/avp-updates /etc/apache2/sites-enabled/050-avp-updates
- Проверяем конфиг и ребутаем веб-сервер
$ sudo apache2ctl configtest
$ sudo /etc/init.d/apache2 restart
Комментариев нет:
Отправить комментарий