Хостинг, как сделать каждый день дамп бд и хранить только последние Ндней?

12
Andreyka
На сайте с 19.02.2005
Offline
822
#11
hcenter.ru:
Нормальные хостинги не предоставляют ssh по одной причине - сервер становится более уязвим, а вот выполнить определенные команды хостер может.

Нормальные хостинги настроены нормально и доступ в ssh ничем не навредит. Хотите дам ssh попробовать? :)

Не стоит плодить сущности без необходимости
hcenter.ru
На сайте с 25.01.2006
Offline
75
#12
Andreyka:
Нормальные хостинги настроены нормально и доступ в ssh ничем не навредит. Хотите дам ssh попробовать? :)

Спасибо, не нужно

eServer.ru
На сайте с 28.09.2006
Offline
247
#13
edogs:
Восстановление производится полное и с замещением существующих текущих файлов/баз (и удалением вновь появившихся с момента изготовления резервной копии)? И просто скачать резервную копию нельзя? Т.е. по сути откат?
Если так, то это не всегда годиться - иногда нужно именно покопаться в бакапе или поднять его на новом месте (по тем или иным причинам).

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

Скачивать домашнюю директорию можно всегда, а вот БД пока не сделали.

Хостинг-оператор eServer.ru - 8 (800) 777-4678 (HOST) Услуги на базе TIER-3 дата-центров eServer.Space в Москве и Братиславе vps хостинг (http://www.eserver.ru/vds/) | аренда серверов (http://www.eserver.ru/dedicated/ru/) | сolocation (http://www.eserver.ru/colocation/ru/) | наши клиенты (http://www.eserver.ru/info/clients.xhtml)
DA
На сайте с 04.02.2005
Offline
165
#14

Вот мой скрипт.

<?

// НАСТРОЙКИ
$days_save=10;
$sourcedir="/home/kvadroom/domains/chilpornoforoldonanist.ru/public_html";
$backupdir="/backup_server2/chilpornoforoldonanist/";
$mysql_user="root";
$mysql_db="porno";
$mysql_pass="12345";
// АВТОМАТИЧЕСКИЕ НАСТРОЙКИ
$clear_from=mktime()-3600*24*$days_save;
$filename=date("Y_m_d");
$fullbackupdir=$backupdir."$filename";
function systemecho($command){
echo "Doing command \"$command\"....\n";
flush();
system($command);
}
// ЗАПУСК
echo "Starting backups at ".date("H:i:s")."\n";
if(!file_exists($fullbackupdir))
{
mkdir($fullbackupdir);
chmod($fullbackupdir,0777);
}else{
systemecho("rm -Rf $fullbackupdir/");
mkdir($fullbackupdir);
chmod($fullbackupdir,0777);;
}
// КОПИРОВАНИЕ ФАЙЛОВ
echo "Doing file backups...".date("H:i:s")."\n";
systemecho("cp -R $sourcedir/* $fullbackupdir/");
// СОЗДАНИЕ MYSQL-BACKUP'a
echo "Doing MySQL Backups...".date("H:i:s")."\n";
systemecho("mysqldump -u $mysql_user --quote-names --password=\"$mysql_pass\" $mysql_db > $fullbackupdir/dump.sql");
// УДАЛЕНИЕ СТАРЫХ БЕКАПОВ
echo "Clearing old backups...".date("H:i:s")."\n";;
$d=opendir($backupdir);
while($file=readdir($d))
{
if($file!=".." && $file!=".")
{
if(ereg("^([0-9]{4})_([0-9]{2})_([0-9]{2})$",$file,$regs))
{
$backupdt=mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
if($backupdt<$clear_from)
{
systemecho("rm -Rf $backupdir/$file/*");
}
}
}
}
echo "Done...".date("H:i:s")."\n";
?>
тыщ-пыщ
DA
На сайте с 04.02.2005
Offline
165
#15

Но у меня бекап идет на соседний винт на соседнем компе, так что я ничего не архивирую.

EH
На сайте с 14.08.2006
Offline
57
#16

А я сделал так:

#!/bin/bash

cd /home/xxx/backup

rm zzz.sql.gz.old.old

mv zzz.sql.gz.old /home/xxx/backup/zzz.sql.gz.old.old

mv zzz.sql.gz /home/xxx/backup/zzz.sql.gz.old

mysqldump --force --quote-names --add-drop-table -uuser -ppass dbname > zzz.sql 2> yyy_err.txt

gzip -9f zzz.sql

Этот скрипт хранит бекап базы за три дня. Запускается просто по крону и все.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий