{"id":353645,"date":"2024-08-02T14:50:02","date_gmt":"2024-08-02T14:50:02","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/detecter-les-plantages-macos\/"},"modified":"2024-10-13T19:07:10","modified_gmt":"2024-10-13T19:07:10","slug":"detecter-les-plantages-macos","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/detecter-les-plantages-macos\/","title":{"rendered":"Comment utiliser un script Bash pour d\u00e9tecter les plantages sur Mac"},"content":{"rendered":"<p>La stabilit\u00e9 des syst\u00e8mes est essentielle pour les professionnels de l&rsquo;informatique, en particulier ceux qui g\u00e8rent plusieurs appareils ou qui fournissent des services de <a href=\"https:\/\/www.ninjaone.com\/fr\/quest-ce-quun-msp\" target=\"_blank\" rel=\"noopener\">fournisseurs de services g\u00e9r\u00e9s (MSP)<\/a>. Veiller \u00e0 ce que les appareils fonctionnent sans difficult\u00e9s et sans pannes inattendues permet <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-network-downtime\/\" target=\"_blank\" rel=\"noopener\">d&rsquo;\u00e9viter les temps d&rsquo;arr\u00eat<\/a>, de maintenir la productivit\u00e9 et d&rsquo;accro\u00eetre la satisfaction des utilisateurs.<\/p>\n<p>Ce guide pr\u00e9sente un script simple mais puissant con\u00e7u pour <strong>d\u00e9tecter les plantages (pannes de syst\u00e8me) r\u00e9cents sur macOS<\/strong>. En comprenant et en mettant en \u0153uvre ce script, les professionnels de l&rsquo;informatique peuvent g\u00e9rer de mani\u00e8re proactive et d\u00e9panner efficacement les probl\u00e8mes de syst\u00e8me.<\/p>\n<h2>Contexte<\/h2>\n<p>Les pannes de syst\u00e8me peuvent \u00eatre le signe de probl\u00e8mes mat\u00e9riels ou logiciels sous-jacents. Sous <a href=\"https:\/\/www.ninjaone.com\/fr\/plateforme-de-gestion-de-terminaux\/gestion-des-terminaux-mac\" target=\"_blank\" rel=\"noopener\">macOS<\/a>, les rapports de plantage sont g\u00e9n\u00e9r\u00e9s et stock\u00e9s dans des r\u00e9pertoires sp\u00e9cifiques, ce qui permet de diagnostiquer les probl\u00e8mes \u00e0 l&rsquo;origine de la panne. Ces rapports se pr\u00e9sentent sous diff\u00e9rents formats de fichiers tels que .ips, .panic et .crash, chacun fournissant diff\u00e9rents niveaux de d\u00e9tails sur les incidents.<\/p>\n<p>Pour les professionnels de l&rsquo;informatique et les entreprises MSP, disposer d&rsquo;un outil capable de rechercher automatiquement ces rapports de plantage peut faire gagner beaucoup de temps et d&rsquo;efforts. Ce script offre une solution simple pour identifier tous les fichiers crash cr\u00e9\u00e9s au cours des 180 derniers jours, ce qui permet d&rsquo;intervenir et de r\u00e9soudre le probl\u00e8me en temps voulu.<\/p>\n<h2>Le script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">#!\/usr\/bin\/env bash\r\n\r\n# Description: Exits with a 1 if any crash files were created in the last 180 days. Be it .ips, .panic, or .crash under \/Library\/Logs\/DiagnosticReports.\r\n#\r\n# Release Notes: Initial Release\r\n# By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n# Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n# Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n# Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n# Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n# Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n# Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n# EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n\r\nif [[ \"${testForAppCrashes}\" == \"true\" ]]; then\r\n    ipsFiles=($(find \"\/Library\/Logs\/DiagnosticReports\" -type f -name \"*.ips\" -mtime -180))\r\n    for item in \"${ipsFiles[@]}\"; do\r\n        echo \"[Warn] Found ${item} ips file!\"\r\n    done\r\nfi\r\n\r\npanicFiles=($(find \"\/Library\/Logs\/DiagnosticReports\" -type f -name \"*.panic\" -not -name \"*.contents.panic\" -mtime -180))\r\ncrashFiles=($(find \"\/Library\/Logs\/DiagnosticReports\" -type f -name \"*.crash\" -mtime -180))\r\n\r\nfor item in \"${panicFiles[@]}\"; do\r\n    echo \"[Error] Found ${item} panic file!\"\r\ndone\r\n\r\nfor item in \"${crashFiles[@]}\"; do\r\n    echo \"[Error] Found ${item} crash file!\"\r\ndone\r\n\r\nif [ ${#ipsFiles[@]} -gt 0 ] || [ ${#panicFiles[@]} -gt 0 ] || [ ${#crashFiles[@]} -gt 0 ]; then\r\n    exit 1\r\nelse\r\n    echo \"No crash files found.\"\r\n    exit 0\r\nfi<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"blog-cta-new blog-cta-style-1\"><div class=\"cta-left\"><h2><\/h2><p><\/p><\/div><div class=\"cta-right\"><a class=\"button\" href=\"\"><\/a><\/div><\/div>\n<h2>Description d\u00e9taill\u00e9e<\/h2>\n<p>Le script est \u00e9crit en Bash et ex\u00e9cute les fonctions cl\u00e9s suivantes :<\/p>\n<ol>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Configuration de l&rsquo;environnement: <\/strong>La ligne shebang sp\u00e9cifie l&rsquo;interpr\u00e9teur du script, garantissant qu&rsquo;il s&rsquo;ex\u00e9cute avec les param\u00e8tres d&rsquo;environnement appropri\u00e9s.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Description et historique des versions : <\/strong>Les commentaires donnent un bref aper\u00e7u de l&rsquo;objectif du script et de l&rsquo;historique de ses versions.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Contr\u00f4le conditionnel en cas de blocage de l&rsquo;application :<\/strong> Si la variable d&rsquo;environnement testForAppCrashes a la valeur \u00ab\u00a0true\u00a0\u00bb, le script recherche les fichiers .ips (indiquant les pannes d&rsquo;application) cr\u00e9\u00e9s au cours des 180 derniers jours et les r\u00e9pertorie.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Recherche de fichiers panic et crash : <\/strong>Ces commandes permettent de localiser les fichiers .panic et .crash, \u00e0 l&rsquo;exclusion des fichiers nomm\u00e9s *.contents.panic, dans le d\u00e9lai sp\u00e9cifi\u00e9.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Enregistrement des fichiers d\u00e9tect\u00e9s : <\/strong>Le script \u00e9met des avertissements et des erreurs pour chaque fichier d\u00e9tect\u00e9, ce qui permet \u00e0 l&rsquo;utilisateur d&rsquo;obtenir un retour d&rsquo;information imm\u00e9diat.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Statut de sortie en fonction des r\u00e9sultats : <\/strong>Selon que des fichiers d&rsquo;erreur ont \u00e9t\u00e9 trouv\u00e9s ou non, le script se termine avec le statut 1 (indiquant des probl\u00e8mes) ou 0 (indiquant l&rsquo;absence de probl\u00e8mes).<\/li>\n<\/ol>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<h3>\u00c9tude de cas\u00a0: Gestion Proactive de l&rsquo;Informatique<\/h3>\n<p>Un professionnel de l&rsquo;informatique qui g\u00e8re un parc d&rsquo;ordinateurs Mac dans un environnement d&rsquo;entreprise peut utiliser ce script pour v\u00e9rifier r\u00e9guli\u00e8rement si des pannes r\u00e9centes se sont produites. En programmant l&rsquo;ex\u00e9cution quotidienne de ce script via une t\u00e2che cron, ils peuvent s&rsquo;assurer d&rsquo;\u00eatre imm\u00e9diatement inform\u00e9s de tout nouveau rapport de plantage. Cela permet de d\u00e9panner rapidement, de minimiser les temps d&rsquo;arr\u00eat et de maintenir la fiabilit\u00e9 du syst\u00e8me.<\/p>\n<h2>Comparaisons<\/h2>\n<h3>Comparaison entre la v\u00e9rification par script et manuelle<\/h3>\n<p>La v\u00e9rification manuelle des rapports de plantage implique de naviguer dans les r\u00e9pertoires appropri\u00e9s et d&rsquo;inspecter les fichiers, ce qui peut prendre beaucoup de temps et \u00eatre source d&rsquo;erreurs. Ce script automatise le processus, garantissant ainsi la coh\u00e9rence et la pr\u00e9cision.<\/p>\n<h3>Comparaison entre les scripts et les outils commerciaux<\/h3>\n<p>Bien qu&rsquo;il existe des outils commerciaux offrant une surveillance compl\u00e8te du syst\u00e8me, ce script constitue une alternative \u00e9conomique et l\u00e9g\u00e8re pour la d\u00e9tection des pannes, particuli\u00e8rement adapt\u00e9e aux environnements informatiques de petite taille ou aux cas d&rsquo;utilisation sp\u00e9cifiques o\u00f9 une solution de surveillance compl\u00e8te n&rsquo;est pas justifi\u00e9e.<\/p>\n<h2>FAQ<\/h2>\n<p><strong>Q\u00a0: Comment ex\u00e9cuter ce script ?<\/strong><\/p>\n<p>R\u00a0: Enregistrez le script dans un fichier, rendez-le ex\u00e9cutable avec chmod +x nomfichier.sh, et ex\u00e9cutez-le en utilisant .\/nomfichier.sh.<\/p>\n<p><strong>Q\u00a0: Que se passe-t-il si je veux v\u00e9rifier les crash sur une p\u00e9riode diff\u00e9rente ?<\/strong><\/p>\n<p>R\u00a0: Modifiez le param\u00e8tre -mtime -180 pour obtenir le nombre de jours souhait\u00e9.<\/p>\n<p><strong>Q\u00a0: Ce script peut-il \u00eatre utilis\u00e9 sur des syst\u00e8mes non-macOS ?<\/strong><\/p>\n<p>R\u00a0: Non, ce script est sp\u00e9cifiquement con\u00e7u pour macOS.<\/p>\n<h2>Implications<\/h2>\n<p>L&rsquo;ex\u00e9cution r\u00e9guli\u00e8re de ce script peut aider \u00e0 identifier des mod\u00e8les de panne r\u00e9currents, ce qui permet aux professionnels de l&rsquo;informatique de traiter les probl\u00e8mes potentiels avant qu&rsquo;ils ne s&rsquo;aggravent. La d\u00e9tection des pannes de fa\u00e7on pr\u00e9coce permet d&rsquo;\u00e9viter des d\u00e9faillances plus importantes du syst\u00e8me et de maintenir des performances optimales ainsi que la satisfaction des utilisateurs.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Automatiser l&rsquo;ex\u00e9cution<\/strong>: Planifiez l&rsquo;ex\u00e9cution du script \u00e0 intervalles r\u00e9guliers \u00e0 l&rsquo;aide de t\u00e2ches cron.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Int\u00e9gration avec les outils de surveillance<\/strong>: Combinez ce script avec d&rsquo;autres solutions de surveillance pour une approche compl\u00e8te.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Examiner r\u00e9guli\u00e8rement les journaux<\/strong>: Examinez r\u00e9guli\u00e8rement les journaux de sortie pour s&rsquo;assurer que tous les probl\u00e8mes sont trait\u00e9s rapidement.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>L&rsquo;int\u00e9gration de ce script dans votre bo\u00eete \u00e0 outils de gestion informatique peut consid\u00e9rablement am\u00e9liorer votre capacit\u00e9 \u00e0 maintenir la stabilit\u00e9 du syst\u00e8me et \u00e0 r\u00e9soudre les probl\u00e8mes de mani\u00e8re pr\u00e9ventive. Des outils tels que <a href=\"https:\/\/www.ninjaone.com\/fr\/\" target=\"_blank\" rel=\"noopener\">NinjaOne<\/a> peuvent simplifier et am\u00e9liorer\u00a0davantage ces processus, en fournissant une plateforme unifi\u00e9e pour la surveillance et la gestion de plusieurs appareils. En tirant parti de ces outils, les professionnels de l&rsquo;informatique peuvent s&rsquo;assurer qu&rsquo;ils sont en mesure de relever tous les d\u00e9fis qui se pr\u00e9sentent et de maintenir des op\u00e9rations fluides et fiables.<\/p>\n","protected":false},"author":35,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"","_lmt_disable":""},"operating_system":[4210],"use_cases":[4285],"class_list":["post-353645","script_hub","type-script_hub","status-publish","hentry","script_hub_category-macos"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/353645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/comments?post=353645"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=353645"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=353645"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=353645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}