#!/bin/sh
# Пример пути до сайта /var/www/site.ru/web/
SITEDIR="/var/www" # Папка до названия доменаов
WEB="web" # Папка после названия доменов (если есть)
LIST=${1:-$(ls -L $SITEDIR | grep -E ".*\.\w{1,5}")} # Название сайта, тут выбор или аргумент или, регулярка можно убрать только -L ;)
DBCONN="bitrix/php_interface/dbconn.php" # Откуда читать настройки mysql
FTPUSER="*******" # Логин FTP сервера
FTPPASS="****************" # Пароль FTP
FTPHOST="**************************" # сервер FTP
FTPDIR="/server8/site/" # папка на FTP
TMPDIR="/var/backup/site" # Где будут храниться временные файлы
DATE=$(date +"%Y-%m-%d")
YEAR=$(date +%Y)
MONTH=$(date +%m)
TMPD=$TMPDIR/$YEAR/$MONTH
test ! -d $TMPD && mkdir -p $TMPD # создаем структ уру каталогов если их нет
for ELEMENT in $LIST
do
WEBDIR=$SITEDIR/$ELEMENT/$WEB
DBC=$WEBDIR/$DBCONN
DUMPFILE=$WEBDIR/$DBNAME-$DATE.sql
if [ ! -f "/$DBC" ];
then
echo " Файл $DBC не найден, сайт будет без БД!"
else
DBLOGIN=$(grep "^\$DBLogin =" $DBC | cut -f2 -d'"')
DBPASS=$(grep "^\$DBPassword =" $DBC | cut -f2 -d'"')
DBNAME=$(grep "^\$DBName =" $DBC | cut -f2 -d'"')
mysqldump -u$DBLOGIN -p$DBPASS $DBNAME > $DUMPFILE && echo "Дамп БД $DBNAME будет сохранен в корне сайта" || echo "Ошибка дампа базы данных " $DBNAME
fi
echo "Архивируем сайт $ELEMENT"
ARCFILE=$TMPD/$ELEMENT-$DATE.tar.gz
tar -cvpzf $ARCFILE --directory $WEBDIR --ignore-failed-read --exclude='./bitrix/tmp' --exclude='./bitrix/updates' --exclude='./bitrix/backup/*\.gz*' --exclude='./bitrix/backup/*\.tar*' --exclude='./bitrix/cache' --exclude='./bitrix/managed_cache' --exclude='./bitrix/stack_cache' --exclude='./upload/resize_cache' --exclude='./stats' . >> /dev/nool 2> /var/log/backup_error.log
rm -f $DUMPFILE # поскльку ложим на реальный сайт, ибо нормально добавить в архив не получитяс.
echo "Сохраняем $ELEMENT на FTP"
wput --basename=$TMPDIR --limit-rate=60000K --timestamping --remove-source-files --tries=2 $ARCFILE ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR
rm -f $ARCFILE
done
rm -r $TMPDIR
Мне как раз надо было в одну сторону, чтобы пакеты попадали на сервер на внутренний бридж.
Ваш ответ помог, в итоге понял, что на этом роутере не получится сделать, что хотелось, потому что он не поддерживает DHCP options (мне надо option 121 и 249) и не умеет статические маршруты раздавать клиентам.
Придется, видимо, поднимать отдельный DHCP сервер и указывать все необходимые маршруты, которые будут пушиться на клиентов. Хотя я почти уверен, что там какой-нибудь dnsmasq внутри.
Либо прокидывать через macvtap, но тогда придется либо виртуалку/контейнер во внутренней подсети держать, либо ходить с другой машины.
А по поводу вопроса: оказалось, что фэйковый WAN с VLAN работает, но не сразу, надо подождать несколько минут.
Буду менять видимо на роутер с OpenWRT, все равно планировал, просто теперь быстрее получится.