Actions
Evolution #968
ouvertprocédure #946: installation ITOP
documentation cron_itop
Début:
31 décembre 2025
Echéance:
% réalisé:
100%
Temps estimé:
1:00 h
Description
📘 Mise en place du cron iTop (mode production)¶
🎯 Objectif¶
Mettre en place le cron de maintenance iTop afin d’assurer :
- le nettoyage automatique (cache, sessions, pièces jointes)
- l’exécution des tâches asynchrones
- la stabilité, les performances et la cohérence fonctionnelle d’iTop le tout en arrière-plan, sans bloquer le CLI.
🧠 Contexte¶
- Application : iTop (ITSM / CMDB)
- Exécution : CLI PHP
- Mode : production
- Utilisateur système :
www-data - Authentification : utilisateur iTop dédié
🛠️ Actions réalisées¶
1️⃣ Identification du script cron iTop¶
Le script officiel à utiliser est :
/var/www/html/itop/webservices/cron.php
⚠️ Les fichiers suivants sont des templates ou exemples, non exécutables :
cron.cmdcron.distribcron.tpl
2️⃣ Création d’un utilisateur iTop dédié au cron¶
Dans l’interface web iTop :
- Administration → Utilisateurs
Création d’un utilisateur iTop :
- Login :
cron_itop - Mot de passe : fort
- Profil :
Administrator(pour garantir toutes les opérations cron)
- Login :
📌 L’authentification du cron iTop repose exclusivement sur les utilisateurs iTop (pas Linux, pas MySQL).
3️⃣ Création du répertoire de configuration système¶
sudo mkdir -p /etc/itop
sudo chown root:www-data /etc/itop
sudo chmod 750 /etc/itop
4️⃣ Création du fichier de paramètres du cron¶
sudo nano /etc/itop/cron.params
Contenu :
auth_user=cron_itop
auth_pwd=<mot_de_passe_itop>
exec_mode=cli
Sécurisation :
sudo chown root:www-data /etc/itop/cron.params
sudo chmod 640 /etc/itop/cron.params
📌 Le fichier cron.params n’existe pas par défaut dans iTop, il est créé volontairement pour :
- éviter l’exposition du mot de passe en ligne de commande
- faciliter l’automatisation
- renforcer la sécurité
5️⃣ Création du fichier de logs¶
sudo touch /var/log/itop-cron.log
sudo chown www-data:www-data /var/log/itop-cron.log
sudo chmod 640 /var/log/itop-cron.log
6️⃣ Mise en place du cron système (méthode recommandée)¶
Édition du crontab de l’utilisateur web :
sudo crontab -u www-data -e
Ajout de la ligne suivante :
*/5 * * * * /usr/bin/php /var/www/html/itop/webservices/cron.php --param_file=/etc/itop/cron.params >> /var/log/itop-cron.log 2>&1
🔎 Détails :
- Exécution toutes les 5 minutes (recommandation iTop)
- Chemin PHP absolu (
/usr/bin/php) - Exécution en arrière-plan
- Logs centralisés
- Protection intégrée contre les doubles exécutions
7️⃣ Mise en place de la rotation des logs¶
Création du fichier logrotate :
sudo nano /etc/logrotate.d/itop
Contenu :
/var/log/itop-cron.log {
daily
rotate 14
compress
missingok
notifempty
copytruncate
}
🧪 Vérifications effectuées¶
Vérification du cron actif¶
sudo crontab -u www-data -l
Vérification de l’exécution¶
sudo tail -f /var/log/itop-cron.log
Messages observés :
StartingExecAsyncTaskInlineImageGCSleeping...Already running...(comportement normal si une exécution précédente est encore active)
Vérification des processus¶
ps aux | grep cron.php | grep -v grep
➡️ Présence temporaire du process uniquement lors de l’exécution.
🧠 Comportement attendu (normal)¶
- iTop empêche automatiquement les exécutions concurrentes
- Le message “Already running” est une protection interne
- Aucun impact sur les performances
- Aucun blocage du CLI
✅ Résultat final¶
- Cron iTop opérationnel
- Exécution en arrière-plan
- Maintenance automatique active
- Logs maîtrisés
- Environnement production-ready
Aucune donnée à afficher
Actions