Logadm est l'équivalent de logrotate sous Solaris. Il a l'avantage d'avoir une syntaxe plus consise.
J'ai bêtement galéré avec l'archivage des logs de mysql. En effet la commande "flush logs" qui permet de recreer les logs de mysql crée un fichier logfile-old.
Le plus drole est que il ecrit dans ce fichier -old ! Je vous laisse admirer :
host admin : mysqladmin -u root -p flush-logs 
Enter password:
host admin : ls -l
total 5776
-rw-rw---- 1 mysql dba 0 Jul 29 14:39 myserver.log
-rw-rw---- 1 mysql dba 604 Jul 29 14:39 myserver-old
-rw-rw---- 1 mysql dba 16571 Jul 29 14:46 myserver.slowquery.log
On voit donc que :
  1. Le slowquery log est pas roté
  2. Le fichier de log mis à jour est myserver-old !
Le plus amusant est que si on fait comme suggéré dans la doc un mv des fichiers .log on se retrouve toujours avec 2 fichier (myserver.log et myserver-old)
La procédure semblait pourtant exact (doc mysql) :
shell> cd mysql-data-directory
shell> mv mysql.log mysql.old
shell> mv mysql-slow.log mysql-slow.old
shell> mysqladmin flush-logs
Mais finalement une option de logadm m'a sauvé la mise.
Cette option '-c' permet de copier le fichier (en rotant les numéro de version) puis trunquer le fichier ouvert.
On évite ainsi tout ce bazar. La ligne logadm :
/srv/mysq/admin/*.log -C 4 -c -s 1k
Puis on lance logadm pour avoir :
-rw-rw----   1 mysql dba            0 Jul 29 15:10 SESRBR.log
-rw-rw---- 1 mysql dba 323307 Jul 29 15:09 SESRBR.log.0
-rw-rw---- 1 mysql dba 0 Jul 29 15:10 SESRBR.slowquery.log
-rw-rw---- 1 mysql dba 43464 Jul 29 15:10 SESRBR.slowquery.log.0

PS : Cepedant pour rétablir les logs correctement après un flush log ... Il faut redémarrer mysql.
PS2 : Le -s 1k est pour les tests !
PS3 : Pour mettre le log en verbose manuellement : SET GLOBAL general_log = 'ON';