VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Озадачился делать автобэкапы не только БД, но и файлов (раньше все делал ручками, муторно это), вот что из этого вышло... =)
Раз (или два) в неделю запускать системный крон для создания полного бэкапа форума или выбранной директории (например каталога вложений)
и сохранять где то выше каталога www
содержимое файла bash скрипта attach.sh (нашел в сети, я добавил туда только выполнение пхп файла) обращаю внимание, что пути до скриптов и исполняемых файлов, нужно писать полные!
и делаем этот файл исполняемым 0700 (может оно и не нужно, но из консоли он у меня не запустился с ошибкой: access denied)
т.к. процедура не из легких, нужно закрыть форум на время выполнения бэкапа, для этого написал небольшой скриптик PHP, что бы он закрывал форум перед началом бэкапа и открывал после выполнения задачи
содержимое скрипта PHP job.php
PHP Code:
<?php define('THIS_SCRIPT', 'job'); $forumroot = '/full/path/to/your/forum'; // FULL path to FORUM define('FORUM_ROOT', $forumroot); if(is_dir(FORUM_ROOT) AND file_exists(FORUM_ROOT . '/global.php')) { chdir(FORUM_ROOT); require_once('./includes/init.php'); function openclose() { global $vbulletin; $vbulletin->db->query_write(" UPDATE " . TABLE_PREFIX . "setting SET value = " . ($vbulletin->options['bbactive'] ? 0 : 1) . " WHERE varname = 'bbactive' "); require_once(DIR . '/includes/adminfunctions.php'); build_options(); } openclose(); } ?>
заливаем эти файлы куда то на сервак, повыше каталога www (оба файла должны быть в одном каталоге!) и идем в ISPманагер добавлять крон задачу
там выставляем выполнение ночью, скажем на 3 часа ночи и раз в неделю, например в воскресенье
прописываем полный путь до исполняемого файла attach.sh
>/dev/null 2>&1 что бы не отправлялись отчеты на майл
===
разумеется, задачу можно добавить из консоли (crontab -e и бла бла бла), но я не дружу с консольными редакторами пингвина, поэтому мне проще в испманагере
если кто то подскажет, как убивать старые бэкапные файлы в этом каталоге, из этого же крон скрипта, ну скажем, если файлов скопилось больше трех, будет совсем гутт =)
в гугле есть инфа, но там как то все наворочано слишком... =\
===
да, и еще, тестировал закрытие/открытие форума на саппорте только с небольшим по размеру каталогом, поэтому не знаю, как работает баш скрипт
он выполняет команду исполнения внешнего файла (job.php) только после того, как создал бэкап или сразу же после начала бэкапа?
линуксоиды есть?
подскажете?
В ISP есть штатный бекапщик, который может ежедневно, или раз в неделю, или раз в месяц делать полный бекап: все файлы, базу, почту, настройки панели. Можно исключить папки, которые не надо бекапить. Он же сам удаляет старые архивы, всё настраивается.
Этот скрипт может работать параллельно с ним, или они будут мешать друг другу?
Smalesh
В Черном списке
Join Date: Oct 2006
Награды в конкурсах:
Posts: 3,055
Версия vB: 3.8.7
Пол:
Reputation:
Мастер 3982
Репутация в разделе: 680
1
Quote:
Originally Posted by kerk
как убивать старые бэкапные файлы в этом каталоге
Code:
cd $DESDIR
ls -t *.tar.gz | tail +5 | xargs rm -f
В кроне есно что пути к файлам.
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,737
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20269
Репутация в разделе: 7731
0
Quote:
Originally Posted by Abraxas
Этот скрипт может работать параллельно с ним, или они будут мешать друг другу?
даже не знаю =)
не смотрел дефолтный бэкапер, задача была сохранять только одну-две папки
но собсно если по времени не будут совпадать задачи, то должен работать, правда если уже есть что то, что создает бэкапы, зачем еще?
Smalesh
В Черном списке
Join Date: Oct 2006
Награды в конкурсах:
Posts: 3,055
Версия vB: 3.8.7
Пол:
Reputation:
Мастер 3982
Репутация в разделе: 680
0
Quote:
Originally Posted by Abraxas
Этот скрипт может работать параллельно с ним, или они будут мешать друг другу?
Если в разное время - не будут)
Quote:
Originally Posted by kerk
он выполняет команду исполнения внешнего файла (job.php) только после того, как создал бэкап или сразу же после начала бэкапа?
В твоем случае - все последовательно. Если нужно не ожидать завершения, добавляешь &
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,737
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20269
Репутация в разделе: 7731
0
Quote:
Originally Posted by Smalesh
Если нужно не ожидать завершения, добавляешь &
вот как раз и нужно ждать, пока скрипт запихает все в архив и только после этого открывать форум =)
Smalesh
В Черном списке
Join Date: Oct 2006
Награды в конкурсах:
Posts: 3,055
Версия vB: 3.8.7
Пол:
Reputation:
Мастер 3982
Репутация в разделе: 680
0
Quote:
Originally Posted by kerk
зачем еще?
Штатный - не ахти)
Кстати. обратите внимание на последний Sypex Dumper 2 (кажется 2.11) - он умеет сам считать число архивов и чистить как по дате, так и по количеству. К тому же на оффсайте к нему лежит ftp-uploader, сразу выгрузка базы на резервный ftp.
Запускается все это дело с крона примерно так