Page 1 of 1

Backup-исключения / Debian 9

Posted: Mon Aug 20, 2018 12:23 pm
by aluminoter
Добрый день не работают исключения в Debian 9.
Проблема 1: почему то меняются знаки в правиле после сохранения ':' на ',' - я так понял это косяк, и наверное это исправится в следующих версиях.
Проблема 2: вношу правило исключения папок для домена mySite.com - 'mySite.com:public_html/storage/framework/cache/best:public_html/storage/framework/cache/content'

Логи бекапа все ок:

Code: Select all

-- WEB --
2018-07-28 05:10:03 mySite.com
2018-07-28 05:10:03 excluding directory public_html/storage/framework/cache/best
2018-07-28 05:10:03 excluding directory public_html/storage/framework/cache/content
2018-07-28 05:12:09 *** 1 domain ***
Но папки не исключает почему то. Помогите решить проблему, СПАСИБО!!!

Re: Backup-исключения / Debian 9

Posted: Thu Aug 23, 2018 8:18 am
by aluminoter
Неужели никто не знает?

Re: Backup-исключения / Debian 9

Posted: Thu Aug 23, 2018 11:58 am
by grayfolk
aluminoter wrote:
Thu Aug 23, 2018 8:18 am
Неужели никто не знает?
А что знать-то? Баг )

Re: Backup-исключения / Debian 9

Posted: Fri Aug 31, 2018 10:02 am
by aluminoter
Да это косяк!!! Блин панель шикарная, но обновления так редко бывают.

Re: Backup-исключения / Debian 9

Posted: Fri Aug 31, 2018 6:30 pm
by Las
Добрый день. Фиксим баги самостоятельно, не дожидаясь обновлений:

1. Баг с исключениями содержимого директорий из бэкапа

Баг связан с обновленной версией tar в Debian 9:
Если в аргументах команды tar имеется звездочка * , некоторые аргументы после звездочки игнорируются при разборе команды интерпретатором.
Скрипт /usr/local/vesta/bin/v-backup-user отвечает за создание бэкапов.
строка 236:

Code: Select all

tar -cpf- * ${fargs[@]} |gzip -$BACKUP_GZIP - > $tmpdir/web/$domain/domain_data.tar.gz
Видим, что звездочка стоит как раз перед аргументами, содержащими, в том числе, шаблоны для исключения содержимого директорий. И пути-исключения при архивировании tar игнорируются.
Исправляем баг -приводим строку 236 к такому виду:

Code: Select all

tar ${fargs[@]} -cpf- * |gzip -$BACKUP_GZIP - > $tmpdir/web/$domain/domain_data.tar.gz
То есть мы перенесли аргументы с путями к исключаемым директориям в начало, перед звездочкой.

Ремарка (debian 9):
в панели Vesta пути к исключаемым директориям нужно указывать без последнего слеша /,
вот так: test.com:public_html/no_dir1:public_html/no_dir2:public_html/no_dir3
Eсли в путях указывать последний слеш, то содержимое директорий все равно будет включаться в бэкап, а нам этого не нужно.

2. Правим некритичный баг, связанный с включением директории /log в архив:
Тот же скрипт /usr/local/vesta/bin/v-backup-user отвечает за создание бэкапов.
Cтрока 223, было:

Code: Select all

fargs+=(--exclude='logs/*')
Стало (удаляем одинарные кавычки в строке 223):

Code: Select all

fargs+=(--exclude=logs/*)
3. Избавляемся от известного бага, приводящего к замене двоеточий на запятые при редактировании списка исключений в панели:
Скрипт v-list-user-backup-exclusions отвечает за формирование списка исключений в панели.
Я правил только кусок кода, отвечающий за список исключаемых директорий веб доменов, остальные списки не интересовали.
Строка 36, было:

Code: Select all

echo -n "\"${key//:/,}\""
Стало (удаляем //:/, в строке 36):

Code: Select all

echo -n "\"${key}\""
P.S. после обновления до секьюрити-фикса от 18.10.2018 - надо заново вносить вышеуказанные изменения в скрипты, поскольку при обновлении скачиваются и заменяются измененные скрипты на оригинальные

Re: Backup-исключения / Debian 9

Posted: Tue Oct 15, 2019 10:21 pm
by Craigy
Почему же до сих пор баг с заменой : на , и обратно не правите? Очень мешает...