Скрипт для cron. Сайт выполнен на cms Drupal 7
<?php
/*Код */
require_once 'includes/bootstrap.inc';
require_once 'includes/database/database.inc';
require_once 'includes/database/mysql/database.inc';
chdir('/home/ваш_аккаунт/public_html');//Полный путь на сервере до корня вашего сайта
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap('DRUPAL_BOOTSTRAP_DATABASE'); // Подключаем библиотеки Drupal для работы с базой данных
global $db_url;
db_set_active($db_url);
$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (формат MySQL DATETIME) - Берем текущую дату и время
$period = 9; // Указываем период (количество часов), после которого будут удалены записи
$time = mktime(date("H")-$period, date("i"), date("s"), date("m"), date("d"), date("Y")); // Получаем дату, от которой будем очищать данные в выбранных таблицах
db_query("DELETE FROM watchdog WHERE timestamp <=$time"); // Чистим Watchdog - Журнал записей сайта
db_query("DELETE FROM cache_form WHERE created <=$time"); // Чистим кеш
db_query("DELETE FROM cache_menu WHERE created <=$time"); // Чистим кеш
db_query("DELETE FROM cache_field WHERE created <=$time"); // Чистим кеш
db_query("DELETE FROM cache_views WHERE created <=$time"); // Чистим кеш
db_query("DELETE FROM cache_path WHERE created <=$time"); // Чистим кеш
db_query("DELETE FROM cache_update WHERE created <=$time"); // Чистим кеш
db_query("DELETE FROM cache WHERE created <=$time"); // Чистим кеш
db_query("DELETE FROM cache_bootstrap WHERE created <=$time"); // Чистим кеш
db_query("DELETE FROM cache_page WHERE created <=$time"); // Чистим кеш
//db_query("TRUNCATE watchdog"); // Полная очистка журнала записей сайта
//db_query("TRUNCATE cache_form"); // Полная очистка
//db_query("TRUNCATE cache_menu"); // Полная очистка
//db_query("TRUNCATE cache_field"); // Полная очистка
//db_query("TRUNCATE cache_views"); // Полная очистка
//db_query("TRUNCATE cache_path"); // Полная очистка
//db_query("TRUNCATE cache_update"); // Полная очистка
//db_query("TRUNCATE cache"); // Полная очистка
//db_query("TRUNCATE cache_bootstrap"); // Полная очистка
//db_query("TRUNCATE cache_page"); // Полная очистка
//echo '1234567890';
/*
При мониторинге базы данных сайта и использовании разных модулей Вы сами сможете определить таблицы которые нужно будет подчищать, и добавить по аналогу с ниже приведенным кодом свои запросы DELETE.
!!Будьте внимательны и перед запуском скрипта со своими настройками и дополнительными строками запросов DELETE не забудьте сделать бекап Вашей баз данных!!!
*/
/* END Код */
?>
Как проверить работоспособность скрипта.
1. Нужно раскомментировать последнюю строку.
2.Поместить файл со скриптом в корневую директорию своего сайта.
3. Запустить скрипт из адресной строки браузера.
4. Если вы увидите число 1234567890 - скрипт отработал успешно. Но это не значит, что он успешно отработает после cron - запуска на хостинге (см. здесь).