ispCP - Board - Support
Как сохранять бекапы за x дней - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: Russian Corner (/forum-53.html)
+--- Thread: Как сохранять бекапы за x дней (/thread-8109.html)



Как сохранять бекапы за x дней - WeBBeR - 10-13-2009 09:12 PM

Делал все по инструкции.. =)
[HowTo] How can I keep my backups for x days?
http://www.isp-control.net/forum/thread-6129-page-1.html?highlight=backup
Хочется отметить следующее:
Ниже описан вариант, когда хостинг планами заведует реселлер, а не админ!!!


Для начала загружаем данный код в БД.
Code:
CREATE TABLE IF NOT EXISTS `domain_backup` (
  `id` int(5) NOT NULL auto_increment,
  `domain_name` varchar(200) character set utf8 collate utf8_unicode_ci NOT NULL,
  `site` varchar(15) NOT NULL,
  `db` varchar(15) NOT NULL,
  `site_backup_days` smallint(2) NOT NULL,
  `db_backup_days` smallint(2) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Затем, создадим файлик:

/var/www/ispcp/engine/backup/archive_backups

и вставим в неге следующий код:
archive_backups.txt

Установим права на файл:
chmod +x /var/www/ispcp/engine/backup/archive_backups

Добавляем новую строку в crontab (/etc/cron.d/ispcp):
Code:
0 4 * * * root /var/www/ispcp/engine/backup/archive_backups > /dev/null

На всякий случай сначала сделаем бекапы файлов:
/var/www/ispcp/gui/reseller/domain_edit.php
/var/www/ispcp/gui/themes/omega_original/reseller/domain_edit.tpl

Code:
cp -p /var/www/ispcp/gui/themes/omega_original/reseller/domain_edit.tpl /var/www/ispcp/gui/themes/omega_original/reseller/domain_edit.tpl_backup
cp -p /var/www/ispcp/gui/reseller/domain_edit.php /var/www/ispcp/gui/reseller/domain_edit.php_backup

И далее заменяем содержимое этих файлов новой начинкой:
domain_edit.php
domain_edit.tpl.txt

И если вам нужно установить нужное количество дней для хранения, то в режиме реселлера в режиме редактирования домена установить нужные значения для баз данных и сайта.
[Image: attachment.php?aid=947]

В целом должно начать работать.

В оригинале есть продолжение, связанное с квотами пользователя, но я это ещё не трогал. По этому здесь и не привожу.
НО!!! Столкнулся с такой проблемой, принцип действия этой системы бекапов, как я понял, основывается на том, что ежедневный архив копируется в отдельную папку, в которой и хранятся архивы за несколько дней, а последний ежедневный бекап остается в другой папке. В итоге в ежедневный бекап попадают архивы за несколько дней, что грозит заполнению жесткого диска в ближайшее время =)
Вобщем то есть идея..Самый простой так сказать способ =) Писать архивы в отдельную папку, не принадлежащую ни одному из доменов.
Тогда они не будут попадать в последний ежедневный бекап
У кого ещё будут какие мысли?


RE: Как сохранять бекапы за x дней - data-stream_ru - 10-16-2009 07:37 PM

Умну всё проще Smile
FTP-backup server примонтирован как папка. Ну и туда всё по крону скидывается.


RE: Как сохранять бекапы за x дней - WeBBeR - 10-16-2009 07:51 PM

(10-16-2009 07:37 PM)data-stream_ru Wrote:  Умну всё проще Smile
FTP-backup server примонтирован как папка. Ну и туда всё по крону скидывается.

Тоже вариант. Спасибо


RE: Как сохранять бекапы за x дней - data-stream_ru - 10-17-2009 01:15 AM

Просто делаем папку для бекапов.
И суем крону скрипт.
Умну для стороннего бекап-сервера так -

#!/bin/bash

cp -uf /var/www/virtual/*/backups/* /mnt/backup/domains/ &>/var/log/backup-ftp.log
cp -uf /var/www/ispcp/backups/* /mnt/backup/panel/

exit 0

Заменяем папку /mnt/backup/ на вашу папку для бекапов. И гет фан!
В панели выборы сделать это конечно кузяво, вот только мона зафакаться потом винт чистить от бэкапов безолаберных юзеров, которые сами ни фига не чистють и по месяцу на ftp на заходят.


RE: Как сохранять бекапы за x дней - tronix - 10-17-2009 01:28 AM

А если в момент выполнения команд
cp -uf /var/www/virtual/*/backups/* /mnt/backup/domains/ &>/var/log/backup-ftp.log
cp -uf /var/www/ispcp/backups/* /mnt/backup/panel/
эти самые бэкапы там будут создаваться панелью что мы получим в /mnt/backup/...??? Эти команды надо выполнять по крону или разнести по времени эти процессы.


RE: Как сохранять бекапы за x дней - ZULI - 10-31-2009 06:09 AM

Обращу внимание тех людей кто будет патчить панель, все сайты которые были созданы до установки данного патча нужно вносить вручную в таблицу domain_backup

Да еще бок, новые сайты когда заводишь авторы не сделали патчи на файлы, что приводит к тому что приходится вручную в базу лазить и выставлять.


RE: Как сохранять бекапы за x дней - koffu - 01-09-2010 11:28 AM

Хорошо, что в русскоязычной ветке тема.
Я у себя использую бакулу, но для народа не сделаешь, чтобы ткнув кнопочку в панели получаешь бэкап.
Вообще есть живая идея с инкрементными бэкапами tar-ом. Примерно так...
Делаем фул бэкап 01 числа и ежедневно инкрементные. При достижении 01 числа нового месяца, сносим 4й фул с конца из архива, старый фул перемещаем в архив, сносим инкрементные, делаем новый фул. Таким образом клиент имеет 3 фула (текущий мес и 2 предыдущих) + на этот месяц за любой день. Панель модифицировать таким образом, чтобы можно было распаковать только за этот мес. Клиенту убрать доступ на запись в бэкапы.

Кто что скажет?


RE: Как сохранять бекапы за x дней - data-stream_ru - 01-11-2010 01:43 AM

(10-17-2009 01:28 AM)tronix Wrote:  А если в момент выполнения команд
cp -uf /var/www/virtual/*/backups/* /mnt/backup/domains/ &>/var/log/backup-ftp.log
cp -uf /var/www/ispcp/backups/* /mnt/backup/panel/
эти самые бэкапы там будут создаваться панелью что мы получим в /mnt/backup/...??? Эти команды надо выполнять по крону или разнести по времени эти процессы.

Ну так оно и выполняется по крону