Перейти к контенту

[2.1.x]Auto Logs Cleaner


SAT

Рекомендуемые сообщения

Название: Auto Logs Cleaner

Добавил: SAT

Добавлен: 12 Фев 2006

Обновлен: 13 Фев 2006

Категория: IP.Board 2.1.x

 

Очищает базу данных от логов поисковиков и заданий за указанный срок.

Т.к. поисковики и задачи оставляют лог в базе данных, то база разрастается на глазах, иногда набирается до 15 Мб логов поисковиков за месяц, этот элементарный скрипт уменьшит объем базы :) , очистив базу от старых логов.

 

Внимание пока мод работает ТОЛЬКО под 2.0.х и 2.1.x.

Установщик для 2.0.х в папке IPB20x

Установщик для 2.1.х в папке IPB21x

 

ЗЫ: надоело логи в ручную чистить...

 

Нажмите здесь, чтобы скачать файл

Ссылка на комментарий
Поделиться на других сайтах

Посмотрел сурсы, в полне реально его за 10 минут переделать для 2.1.х если не за менньшее кол-во времени))

 

Пока в этом не нуждаюсь) переписывать не буду)

Ссылка на комментарий
Поделиться на других сайтах

Пока в этом не нуждаюсь) переписывать не буду)

Да ладно... делов на десять минут если, помог бы товарищам.

Ссылка на комментарий
Поделиться на других сайтах

Кстати

2. заливаем файл(от находится в архиве)

./sourses/task/botlog.php

 

 

3. по умолчанию скрипт очищает базу от логов старше 15 дней, но если хотите, то в

файле botlog.php можно найти строку:

Правильнее :

 

2. заливаем файл(от находится в архиве)

./sourses/task/logcleaner.php

 

 

3. по умолчанию скрипт очищает базу от логов старше 15 дней, но если хотите, то в

файле logcleaner.php можно найти строку:

 

 

Очапятка))

 

переделал под 2 1.х

 

Извините не сдержался :D

 

Переделка под 2.1.х

 

Создаем какойнить файл php суем в него след текст..

Сам файл заливаем в корень форума

Пример, файл: clean_logger_install.php

 

@set_magic_quotes_runtime(0);
error_reporting  (E_ERROR | E_WARNING | E_PARSE);



require "ips_kernel/class_db_mysql.php";
require "conf_global.php";

$db = new db_driver;
$db->obj['sql_database']	 = $INFO['sql_database'];
$db->obj['sql_user']		 = $INFO['sql_user'];
$db->obj['sql_pass']		 = $INFO['sql_pass'];
$db->obj['sql_host']		 = $INFO['sql_host'];
$db->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];

$db->connect();
			$db->do_insert( 'task_manager', array(
												  'task_title'				  => 'Очистка логов',
												  'task_file'				   => 'logcleaner.php',
												  'task_next_run'			   => time(),
												  'task_week_day'			   => '-1',
												  'task_month_day'			  => '-1',
												  'task_hour'				   => '0',
												  'task_minute'				 => '0',
												  'task_cronkey'				=> md5(microtime()),
												  'task_log'					=> '1',
												  'task_description'			=> 'Очистка логов от поисковых ботов и выполненых задач',
												  'task_enabled'				=> '1',
												  'task_key'					=> 'bot_task_cleaner',
												  'task_safemode'			   => '0',
												  )  );
?>

 

выполняем скрипт

Пример: Http://Ваш_форум/clean_logger_install.php

 

Удаляем файл через фтп, или еще какимнить способом..

 

Создаем новый файл...php

Называем его: logcleaner.php (обязательно)

<?php
/*
+--------------------------------------------------------------------------
|   Invision Power Board v2.1.x
|   =============================================
|   by SAT(Game-Play.ru Team) . Переделка под 2.1.х by kokc
|   =============================================
|   © 2006 | SAT Game-Play.ru team
|   © 2006 | SAT IBResource.ru Staff
|
|   Forum: http://www.game-play.ru/forum
|   =============================================
|   Переделка под 2.1.х by kokc
|   =============================================
|   Forum: http://www.lastlider.ru/forum
|
+---------------------------------------------------------------------------
|
|   > TASK SCRIPT: Clean bot logs
|   > Script written by SAT
|
+--------------------------------------------------------------------------
*/

//-----------------------------------------
// THIS TASKS OPERATIONS:
// Delet bot logs where oldest 15 day
//+--------------------------------------------------------------------------

if ( ! defined( 'IN_IPB' ) )
{
	print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
	exit();
}

class task_item
{
	var $class		= "";
	var $root_path	= "";
	var $task		 = "";
	var $day_to_delet = 15; //day(all logs oldest this day do remove)

	/*-------------------------------------------------------------------------*/
	// Our 'auto_run' function
	// ADD CODE HERE
	/*-------------------------------------------------------------------------*/

	function run_task()
	{

			$date = time() - ( 86400 * $this->day_to_delet );

			//-----------------------------------------
			// clean spider logs
			//-----------------------------------------

			$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'spider_logs',  'where'  => "entry_date < {$date}" ) );

			//-----------------------------------------
			// clean task logs
			//-----------------------------------------

			$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'task_logs',  'where'  => "log_date < {$date}" ) );

			//-----------------------------------------
			// Log to log table - modify but dont delete
			//-----------------------------------------

			$this->class->append_task_log( $this->task, 'Clean Bot and Tasks logs' );

			//-----------------------------------------
			// Unlock Task: DO NOT MODIFY!	 thk SAT;)
			//-----------------------------------------

			$this->class->unlock_task( $this->task );

	}

	/*-------------------------------------------------------------------------*/
	// register_class
	// LEAVE ALONE
	/*-------------------------------------------------------------------------*/

	function register_class(&$class)
	{
			$this->class	 = $class;
			$this->ipsclass  =& $class->ipsclass;
			$this->root_path = $this->class->root_path;
	}

	/*-------------------------------------------------------------------------*/
	// pass_task
	// LEAVE ALONE
	/*-------------------------------------------------------------------------*/

	function pass_task( $this_task )
	{
			$this->task = $this_task;
	}


}
?>

 

Заливаем его в папку: ./sourses/task/

 

Все, готово ;)

Ссылка на комментарий
Поделиться на других сайтах

EasyBot

 

ты забыл анлок поставить :D зато после работы скрипта он блокироваться будет, так и не понял зачем эту фичу в 2.1.x намутили....

 

 

вообщем все работает терь и под 2.1.х, качайте архив

Ссылка на комментарий
Поделиться на других сайтах

Логи - полезная весчь :D уж поверь ;)

 

Например у меня скрипт есть который инфу заноит в БД , скрипт стоит на кроне) к форуму не относится но я его логи веду как поискового бота :) Полезно) знать скрипт выполнил операцию или же ошибка вылетела

Ссылка на комментарий
Поделиться на других сайтах

Если установлен мой Advanced Input Data Verifier, то для корректной работы инсталлера нужно в install.php добавить:

 

для 2.0

найти:

define('IN_DEV', 0);

ниже добавить:

define ('IN_IPB', 1);

 

для 2.1

найти:

define( 'IPB_LOAD_SQL'   , 'admin_queries' );

ниже добавить:

define ( 'IN_IPB', 1 );

Ссылка на комментарий
Поделиться на других сайтах

GluX

 

есть конечно смысл, задение очень хорошо очищает базу :D

 

EasyBot

бесспорно полезная :) но если логи от всех поисковиков за год... то только подъем статитики нагруждает базу... только потому этот скрипт и нужен что бы поддерживать логи в актуальном состоянии, и вот на моей практике логи которым больше месяца не потребовались ;)

Ссылка на комментарий
Поделиться на других сайтах

SAT

 

Ну так респект тебе камрад за такомй мод)))))

 

ЗЫ: а че тут отключили функцию измменения выводимого имени :?))) хачу поменять :D)

Ссылка на комментарий
Поделиться на других сайтах

  • 3 месяца спустя...

1. Заливаем инсталятор(install.php) в папку форума и

запускаем его (http://www.myforum.ru/forum/inslall.php)

 

Cделал,все шаги прошли удачно,кроме последнего,пришлось удалить install.php вручную

 

~~~~~~~~~~~~~~~~~~

2. заливаем файл(он находится в архиве)

./sourses/task/logcleaner.php

 

Папки с названием task в директории sousres не оказалось,была только папка tasks

 

Cоздал папку task и залил туда logcleaner.php

 

**Пробывал также ложить в папку tasks,тоже не понял как запустить чистильщик

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

А дальше чего?как запустить его?

 

При попытке

http://www.****.***/forum/sources/task/logcleaner.php

 

Выдаётся сообщение

Incorrect access

You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.

 

Права выставил..

 

 

Объясните дураку=(

Ссылка на комментарий
Поделиться на других сайтах

  • 5 месяцев спустя...

2 ZakaT, .htacess ?

 

Для Всех: На локале возпроизвел этот мод, все ок. При установке в сеть - след. ошибка:

 

Parse error: syntax error, unexpected T_FINAL, expecting T_STRING in путь/до/форума/forum/install.php on line 302

 

Думаю конфликтует с каким-то модом. Как исправить?

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...
2 ZakaT, .htacess ?

 

Для Всех: На локале возпроизвел этот мод, все ок. При установке в сеть - след. ошибка:

 

Parse error: syntax error, unexpected T_FINAL, expecting T_STRING in путь/до/форума/forum/install.php on line 302

 

Думаю конфликтует с каким-то модом. Как исправить?

То самое, помогите

Ссылка на комментарий
Поделиться на других сайтах

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.