В поисках рецепта создания сабжа наткнулся на обсуждение в 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
Комментариев нет:
Отправить комментарий