ISP Manager имеет довольно удобное управление бекапами. Но, как и у любой системы у него есть недостатки. Однажды размер бекапа для пользователя ушел за 100Гб. Вы когда-нибудь пробовали достать из архива 100Гб пару фотографий? Довольно скучное занятие. В тот момент было решено разбить бекап на более мелкие архивы по первой букве в домене сайта. Отдельные архивы для всех сайтов на "A", отдельно для сайтов на "B", на "C" и т.д.
Несколько часов гугления не принесли особых результатов. ISP Manager умеет делать бекапы отдельно для пользователей, но что делать с сайтами в пределах одного пользователя? Первая же мысль, которая пришла в голову - это создание нескольких отдельных правил и включать папки по маске, например /www/a*, казалось бы, решение найдено, но на деле ISP Manager не умеет добавлять файлы в бекап по маске. А вот исключать по маске он все же научился.
Было решено создать 28 правил для бекапа (27 букв лат. алфавита и цифры), а в каждом правиле исключать все буквы кроме необходимой. Например, для сайтов на "A" мы исключаем весь алфавит побуквенно, кроме "A":
+ /www/
- /www/.*
- /www/0*
- /www/1*
- /www/2*
- /www/3*
- /www/4*
- /www/5*
- /www/6*
- /www/7*
- /www/8*
- /www/9*
- /www/b*
- /www/c*
- /www/d*
.....
- /www/y*
- /www/z*
В итоге получается, что нам нужно создать 28 правил бекапа по 38 правил добавления/исключения в каждом. Довольно внушительная цифра. Конечно, я потратил целый день чтобы "разметить" бекапы для всего алфавита, т.к. это действительно долго и ужасно скучно, зато на выходе получил отдельный архив на каждую букву алфавита и отдельно цифры, что на деле оказалось очень быстрым и удобным.
Конечно, можно было найти или написать собственный скрипт для создания бекапов, но мне этот способ показался наиболее практичным.