parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

logrotate

redactor 13.10.2004 15:13

Случилось так, что в на одном из хостингов нет доступа к сабжу и админы "морозятся".

Пришлось парсеровский лог им же и вращать
Может кому понадобится.
Как всегда, приветствуются улучшения, комменты и прочие конструктивные замечания
@log_rotate[filename;step;bytes]
^if(def $step){
$step($step-1)
}{
$step(9)
}


^if(-f "$filename"){

$logfile[^file::stat[$filename]]
	^if(def $bytes){
	$rotatesize($bytes)
	}{
	$rotatesize(10240)
	}

^if($logfile.size >= $rotatesize){

$logfile_name[^file:justname[$filename]]
$logfileext[^file:justext[$filename]]
^while($step >= 1){
$next_step($step+1)
^if(^logfileext.int(0) >= $step){
^file:delete[$filename]
}{
^if(-f "${filename}.$step"){
^if(-f "${filename}.$next_step"){^file:delete[${filename}.$next_step]}
^file:move[${filename}.$step;${filename}.$next_step]

}


}
^step.dec(1)
}

^file:move[$filename;${filename}.1]
$empty[ ]
^empty.save[$filename]

}

}


  • logrotate, redactor 13.10.2004 15:13