Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour exécuter une mise à jour sur Microsoft Defender pour point de terminaison sur Linux, consultez Déployer des mises à jour pour Microsoft Defender pour point de terminaison sur Linux.
Linux et Unix disposent d’un outil appelé crontab (similaire au planificateur de tâches) pour pouvoir exécuter des tâches planifiées.
Prerequisites
Remarque
Pour obtenir la liste de tous les fuseaux horaires, exécutez la commande suivante : timedatectl list-timezones
Exemples de fuseaux horaires :
America/Los_AngelesAmerica/New_YorkAmerica/ChicagoAmerica/Denver
Configurer la tâche cron
Utilisez les commandes suivantes :
Sauvegarder les entrées crontab
Utilisez la commande suivante pour sauvegarder les entrées crontab actuelles avant d’apporter des modifications :
sudo crontab -l > /var/tmp/cron_backup_201118.dat
Remarque
Dans notre exemple, 201118 == YYMMDD.
Conseil
Sauvegardez vos entrées crontab avant de les modifier ou de les supprimer.
Pour modifier le crontab de l’utilisateur racine et ajouter un nouveau travail :
sudo crontab -e
Remarque
L’éditeur par défaut est VIM.
Vous pouvez voir :
0 * * * * /etc/opt/microsoft/mdatp/logrorate.sh
Et
0 2 * * sat /bin/mdatp scan quick>~/mdatp_cron_job.log
Pour obtenir des instructions sur la création d’un travail d’analyse antivirus planifiée, consultez Planification des analyses avec Microsoft Defender for Endpoint (Linux).
Appuyez sur « Insérer »
Ajoutez les entrées suivantes. Utilisez le CRON_TZ paramètre pour vous assurer que les travaux cron planifiés s’exécutent dans le fuseau horaire prévu :
CRON_TZ=America/Los_Angeles
#! RHEL et variantes (CentOS et Oracle Linux)
0 6 * * sun [ $(date +\%d) -le 15 ] && sudo yum update mdatp -y >> ~/mdatp_cron_job.log
#! SLES et variantes
0 6 * * sun [ $(date +\%d) -le 15 ] && sudo zypper update mdatp >> ~/mdatp_cron_job.log
#! Systèmes Ubuntu et Debian
0 6 * * sun [ $(date +\%d) -le 15 ] && sudo apt-get install --only-upgrade mdatp >> ~/mdatp_cron_job.log
Remarque
Dans les entrées Cron RHEL, SLES, Ubuntu et Debian, 0 6 * * sun spécifie 00 minutes, 6 h (heure au format 24 heures), tous les jours du mois, tous les mois, les dimanches.
[$(date +\%d) -le 15] ne s’exécute pas, sauf s’il est inférieur ou égal au 15e jour (troisième semaine).
L’entrée cron complète signifie que la tâche s’exécute à 6 h chaque dimanche, mais seulement si le jour du mois est le 15 ou avant.
Appuyez sur « Échap »
Tapez «:wq» sans les guillemets doubles.
Remarque
w == écrire, q == quitter
Pour afficher vos travaux cron, tapez sudo crontab -l
Pour vérifier que les travaux cron liés à Defender sont exécutés, recherchez dans le journal cron les mdatp entrées :
sudo grep mdatp /var/log/cron
Pour ouvrir le fichier journal et consulter les résultats des tâches planifiées de mise à jour de Defender :
sudo nano mdatp_cron_job.log
Configurer des mises à jour planifiées avec Ansible, Chef ou Puppet
Utilisez les commandes suivantes :
Pour définir des travaux cron dans Ansible
Utilisez le module cron d’Ansible pour gérer les travaux cron :
cron - Manage cron.d and crontab entries
Si vous souhaitez plus d’informations, consultez https://docs.ansible.com/ansible/latest.
Pour définir crontabs dans Chef
Utilisez la ressource cron de Chef pour gérer les travaux cron :
cron resource
Si vous souhaitez plus d’informations, consultez https://docs.chef.io/resources/cron/.
Pour définir des travaux cron dans Puppet
Type de ressource : cron
Si vous souhaitez plus d’informations, consultez https://puppet.com/docs/puppet/5.5/types/cron.html.
Automatisation avec Puppet : tâches cron et tâches planifiées
Si vous souhaitez plus d’informations, consultez https://puppet.com/blog/automating-puppet-cron-jobs-and-scheduled-tasks/.
Commandes et exemples crontab courants
Les commandes suivantes couvrent les tâches crontab courantes telles que la liste, la sauvegarde, la modification et la suppression d’entrées cron.
Pour obtenir de l’aide avec crontab
Exécutez la commande suivante pour afficher la page manuelle crontab :
man crontab
Pour obtenir la liste du fichier crontab de l’utilisateur actuel
Exécutez la commande suivante pour répertorier les entrées crontab de l’utilisateur actuel :
crontab -l
Pour obtenir la liste du fichier crontab d’un autre utilisateur
Exécutez la commande suivante pour répertorier les entrées crontab d’un autre utilisateur :
crontab -u username -l
Pour sauvegarder les entrées crontab
Utilisez la commande suivante pour sauvegarder les entrées crontab actuelles :
crontab -l > /var/tmp/cron_backup.dat
Conseil
Effectuez cette opération avant de modifier ou de supprimer.
Pour restaurer les entrées crontab
Exécutez la commande suivante pour restaurer les entrées crontab à partir d’un fichier de sauvegarde :
crontab /var/tmp/cron_backup.dat
Pour modifier le crontab et ajouter un nouveau travail en tant qu’utilisateur racine
Utilisez la commande suivante pour modifier le crontab de l’utilisateur racine et ajouter un nouveau travail :
sudo crontab -e
Pour modifier le crontab et ajouter un nouveau travail
Exécutez la commande suivante pour modifier le crontab de l’utilisateur actuel et ajouter un nouveau travail :
crontab -e
Pour modifier les entrées crontab d’un autre utilisateur
Exécutez la commande suivante pour modifier les entrées crontab d’un autre utilisateur :
crontab -u username -e
Pour supprimer toutes les entrées crontab
Warning
Cette commande supprime toutes les entrées crontab pour l’utilisateur actuel sans demander de confirmation. Sauvegardez d’abord votre crontab avec crontab -l > /var/tmp/cron_backup.dat si vous avez besoin de la restaurer.
Utilisez la commande suivante pour supprimer toutes les entrées crontab pour l’utilisateur actuel :
crontab -r
Pour supprimer les entrées crontab d’autres utilisateurs
Warning
Cette commande supprime définitivement toutes les entrées crontab pour l’utilisateur spécifié sans demander de confirmation. Sauvegardez le crontab de l’utilisateur avant d’exécuter cette commande.
Utilisez la commande suivante pour supprimer toutes les tâches planifiées pour un utilisateur spécifique en supprimant les entrées crontab de cet utilisateur :
crontab -u username -r
Référence de champ d’expression Cron
Le diagramme suivant explique les champs d’une expression cron :
+—————- minute (valeurs : 0 - 59) (caractères spéciaux : , - * /)
| +————- heure (valeurs : 0 - 23) (caractères spéciaux : , - * /)
| | +———- jour du mois (valeurs : 1 - 31) (caractères spéciaux : , - * / L W C)
| | | +——- mois (valeurs : 1 - 12) (caractères spéciaux : ,- * / )
| | | | +—- jour de la semaine (valeurs : 0 - 6) (dimanche =0 ou 7) (caractères spéciaux : , - * / L W C)
| | | | |*****command to be executed