Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Востановление тем
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (2): [1] 2 » 

> Описание: Массовое
Black Stork KCO
Отправлено: 17 Января, 2006 - 15:44:11
Post Id



Member


Покинул форум
Сообщений всего: 124
Дата рег-ции: Апр. 2005  
Откуда: Perm

Карма 0




Расскажу-ка я вам маленькую историю. Сегодня в очередной раз упали темы в одном из форумов. Так как это проблема меня задолбала, потопал сюда искать ошибку. Перелапатив 3 страницы тем, понял, что причина обнуления файлов - сбой на сервере, а способов борьбы, кроме бекапа нету. Так вот такой вопрос, как сделать, чтобы все темы автоматом востанавливались? А то задолбалось заходить в каждую и жать "востановить".
 
 Top
SviMik Супермодератор
Отправлено: 17 Января, 2006 - 16:24:22
Post Id



Где-то там...


Покинул форум
Сообщений всего: 3538
Дата рег-ции: Окт. 2004  
Откуда: Tallinn, Estonia

Карма 4




Я вот столько про это обнуление начитался. Слава богу, у меня его никогда небыло Голливудская улыбка

У меня есть такая идея по защите от неё (идея взята у некоторых прог, для сохранения данных в случае сбоя во время записи): форум переодически создаёт копи файлов. Типа файл блаблабла.php копирует в блаблабла.php.bak и проверяетт каждый раз размер файла. Если 0 байт - восстанавливает, если файл целый - обновляет бэкап.
 
 Top
ETC Администратор
Отправлено: 17 Января, 2006 - 16:27:58
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Можно, теоретически. На практике это может привести к новым обнулениям уже всего и вся...
 
 Top
Black Stork KCO
Отправлено: 17 Января, 2006 - 17:01:35
Post Id



Member


Покинул форум
Сообщений всего: 124
Дата рег-ции: Апр. 2005  
Откуда: Perm

Карма 0




ETC пишет:
На практике это может привести к новым обнулениям уже всего и вся.

Почему?
 
 Top
RaZoR
Отправлено: 18 Января, 2006 - 02:20:46
Post Id



Full Member


Покинул форум
Сообщений всего: 225
Дата рег-ции: Март 2005  
Откуда: Оренбург

Карма 0




SviMik пишет:
У меня есть такая идея по защите от неё (идея взята у некоторых прог, для сохранения данных в случае сбоя во время записи): форум переодически создаёт копи файлов. Типа файл блаблабла.php копирует в блаблабла.php.bak и проверяетт каждый раз размер файла. Если 0 байт - восстанавливает, если файл целый - обновляет бэкап.

я даже видел это реализованное где-то.. кажется на [url]php.net[/url]. сейчас найду.
а, вот
CODE:
Following is based on below comments. When something goes wrong, script will perform backup of writen data to randomly named file in temp dir.

<?
function safewrite($filename, $data){
$rand = microtime();
$rand = md5($rand);
$temp = fopen("temp/$rand", "w");
fwrite($temp, $data);
fclose($temp);
$otw = fopen($filename, "a+");
if(flock($otw, LOCK_EX)){
ftruncate($otw, 0);
if(!fwrite($otw, $data)) $err = 1;
flock($otw, LOCK_UN);
fclose($otw);
} else {
$err = 1;
}
if($err == 1 || (filesize($filename) == 0 && strlen($data) <> 0)){
die("<b>There was an error while writing to $filename. Contact site administrator!</b>");
} else {
unlink("temp/$rand");
}
}
?>

Hope it helps.
 
 Top
SysteM
Отправлено: 18 Января, 2006 - 04:19:39
Post Id



Newbie


Покинул форум
Сообщений всего: 40
Дата рег-ции: Янв. 2006  

Карма 0




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

Сам уже сталкивался с проблемой обнуления несколько раз. Посетители форума ругаютсяОгорчение
 
 Top
Cyber-Cat
Отправлено: 18 Января, 2006 - 04:43:55
Post Id



Advanced Member


Покинул форум
Сообщений всего: 434
Дата рег-ции: Март 2005  
Откуда: From CyberLand

Карма 0




RaZoR

Надо проверять не на обнуление, а на размер.
Примерно так:

Если размер list.php меньше размера list.php.bak
то произвести восстановление.
 
 Top
RaZoR
Отправлено: 18 Января, 2006 - 05:00:49
Post Id



Full Member


Покинул форум
Сообщений всего: 225
Дата рег-ции: Март 2005  
Откуда: Оренбург

Карма 0




SysteM
Cyber-Cat
это уже технические особенности конкретного случая. я лишь дал пример, как это уже реализовано кем-то.
 
 Top
ETC Администратор
Отправлено: 18 Января, 2006 - 05:06:41
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Cyber-Cat
а если я тему удалю, list.php уменьшится.
 
 Top
Cyber-Cat
Отправлено: 18 Января, 2006 - 05:19:21
Post Id



Advanced Member


Покинул форум
Сообщений всего: 434
Дата рег-ции: Март 2005  
Откуда: From CyberLand

Карма 0




ETC
При удалении темы, нужно по новой копировать list.php в list.php.bak
Что бы создался новый бекап... Улыбка
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 8 (гостей: 8, зарегистрированных: 0, скрытых: 0)
« ExBB - лучший форум на файлах »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0647]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33