9IPOCTb 2 10/31/18 17:31 Приветствую. Уважаемые форумчане, встал вопрос, как через планировщик задач запустить ежедневную очистку определенных таблиц, а именно:search_keywordsspider_logstask_logsinline_notificationscore_share_links_log т.к. эти таблицы со временем увеличиваются в размере, и занимают много дискового пространства.Заранее спасибо за ответы! Поделиться сообщением Ссылка на сообщение
newbie 1723 11/01/18 05:27 3 (spider_logs, task_logs, core_share_links_log) из 5 таблиц очищаются по задаче \admin\applications\core\tasks\logprune.php, если установлены настройки. 1 Поделиться сообщением Ссылка на сообщение
9IPOCTb 2 11/01/18 09:31 спасибо а как остальные очищать? а так же таблицу sessions она растет и растет, возможно потому что стоит генератор трафика? Поделиться сообщением Ссылка на сообщение
newbie 1723 11/01/18 09:43 Добавьте в указанный файл код для очистки других таблиц - search_keywords. Не имеет колонки с временем. Можно только полностью очистить.$this->DB->delete("search_keywords"); - inline_notifications.$this->DB->delete("inline_notifications", "notify_sent < " . (time() - $this->deleteTime)); а так же таблицу sessions Эта таблица также очищается периодически 2 Поделиться сообщением Ссылка на сообщение
9IPOCTb 2 11/01/18 09:59 так правильно? или я что-то не так делаю? if ( $this->settings['ipb_prune_mod'] ) { $this->DB->delete( "moderator_logs", "ctime < " . (time() - $this->deleteTime) ); $this->DB->delete("search_keywords"); $this->DB->delete("sessions"); $this->DB->delete("inline_notifications", "notify_sent < " . (time() - $this->deleteTime)); } Поделиться сообщением Ссылка на сообщение
newbie 1723 11/01/18 10:01 Можно за пределами if написать if ( $this->settings['ipb_prune_mod'] ) { $this->DB->delete( "moderator_logs", "ctime < " . (time() - $this->deleteTime) ); } $this->DB->delete("search_keywords"); $this->DB->delete("sessions"); $this->DB->delete("inline_notifications", "notify_sent < " . (time() - $this->deleteTime)); 2 Поделиться сообщением Ссылка на сообщение
9IPOCTb 2 11/01/18 10:04 а с какой периодичностью эти таблицы будут очищаться? Поделиться сообщением Ссылка на сообщение
newbie 1723 11/01/18 10:09 а с какой периодичностью эти таблицы будут очищаться? Так посмотрите в АЦ в планировщике задач. 1 Поделиться сообщением Ссылка на сообщение
9IPOCTb 2 11/01/18 10:10 вы меня простите, но я не знаю к какой именно задаче он относится( Поделиться сообщением Ссылка на сообщение
9IPOCTb 2 11/01/18 10:12 нашел, очистка журналов, спасибо вам большое! Поделиться сообщением Ссылка на сообщение
9IPOCTb 2 11/01/18 11:12 Планировщик запустил, но таблица так и не очистилась, в чем может быть проблема? код вставил ваш:if ( $this->settings['ipb_prune_mod'] ) { $this->DB->delete( "moderator_logs", "ctime < " . (time() - $this->deleteTime) ); } $this->DB->delete("search_keywords"); $this->DB->delete("sessions", "running_time < " . (time() - $this->deleteTime)); $this->DB->delete("inline_notifications", "notify_sent < " . (time() - $this->deleteTime)); Поделиться сообщением Ссылка на сообщение
newbie 1723 11/01/18 11:17 но таблица так и не очистиласьКакая именно? 1 Поделиться сообщением Ссылка на сообщение
newbie 1723 11/01/18 11:25 Так там записи так долго не хранятся. Можете просто без условия запускать$this->DB->delete("sessions");Хотя не вижу смысла, т.к. старые сессии также удаляются другой задачей 1 Поделиться сообщением Ссылка на сообщение
9IPOCTb 2 11/01/18 11:28 отлично! спасибо большое, лайкну завтра, лимит( Поделиться сообщением Ссылка на сообщение