Чистим кэш в cron

У меня есть проблема, когда старый Кэш от папки /tmp и /template/cache/name_shablon примерно на следующий день приходится удалять все файлы из: /tmp и /template/cache/name_shablon
Как можно настроить, чтобы данные файлы в этих папках автоматически удалялись каждый 2 часа?
Debian VPS, какая команда CRON?

Как заставить CSS и JS обновляться автоматически при обновлении файлов

У нас на сервере включена полезная опция объединения всех JS и CSS файлов. Задается она в конфиге

/**
 * Параметры компрессии css-файлов
 */
$config['compress']['css']['merge'] = true;       // указывает на необходимость слияния файлов по указанным блокам.
$config['compress']['js']['merge']  = true; 


Однако при обновлении исходников JS и CSS файлов пользователи не получают обновления. Я видел есть плагин ReloadCSS однако он не занимается JS файлами, плюс тыкать кнопку мне тоже не охота совсем. В итоге я полез в код движка и нашел место, где формируется название скомпрессированных файлов

engine/modules/viewer/Viewer.class.php функция Compress
        /**
	 * Сжимает все переданные файлы в один,
	 * использует файловое кеширование
	 *
	 * @param  array  $aFiles	Список файлов
	 * @param  string $sType	Тип файла - js, css
	 * @return array
	 */
	protected function Compress($aFiles,$sType) {
		$sCacheDir  = $this->sCacheDir."/".Config::Get('view.skin');
		$sCacheName = $sCacheDir."/".md5(serialize($aFiles).'_head').".{$sType}";
		$sPathWeb    = Config::Get('path.root.web');
		/**
		 * Если кеш существует, то берем из кеша
		 */
		if(!file_exists($sCacheName)) {


Видно, что в формировании ключа участвуют только имена файлов. Я добавил туда еще и размеры, заодно проверил скорость формирования ключа. Вот такой код у меня получился:

	/**
	 * Сжимает все переданные файлы в один,
	 * использует файловое кеширование
	 *
	 * @param  array  $aFiles	Список файлов
	 * @param  string $sType	Тип файла - js, css
	 * @return array
	 */
	protected function Compress($aFiles,$sType) {
		$sPathWeb    = Config::Get('path.root.web');
		$aFileDates = array();
		$iStart = microtime(true);
		foreach ($aFiles as $sFile) {
			// если файл локальный
			if (strpos($sFile, $sPathWeb)!==false) {
				$sFile=$this->GetServerPath($sFile);
				list($sFile,)=explode('?',$sFile,2);
				$aFileDates[] = filectime($sFile);
			}
		}
		$sCacheDir  = $this->sCacheDir."/".Config::Get('view.skin');
		$sCacheName = $sCacheDir."/".md5(implode($aFiles).implode($aFileDates).'_head').".{$sType}";
		echo "Key calculation took ".(microtime(true) - $iStart)." secs\n";
		/**
		 * Если кеш существует, то берем из кеша
		 */
		if(!file_exists($sCacheName)) {


Проверка показала, что время пренебрежимо мало:

Key calculation took 0,0016648769378662 secs
Key calculation took 0,0010089874267578 secs


Убираем отладочный вывод и радумеся обновлениям JS и CSS.

Можно было бы это сделать плагином, но в плагине пришлось бы переопределить функцию Compress. Может, лучше это изменение просто включить в следующую версию LS.