{"id":390673,"date":"2024-12-12T11:26:15","date_gmt":"2024-12-12T11:26:15","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=390673"},"modified":"2024-12-12T11:26:15","modified_gmt":"2024-12-12T11:26:15","slug":"esportare-i-log-ninjaone-su-linux","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/it\/script-hub\/esportare-i-log-ninjaone-su-linux\/","title":{"rendered":"Esportare i log NinjaOne relativi al supporto mediante uno script Bash, su Linux\u00a0"},"content":{"rendered":"<p>Negli ambienti IT, un troubleshooting e una manutenzione efficienti sono fondamentali per garantire l&#8217;affidabilit\u00e0 del sistema. I log svolgono un ruolo fondamentale nella diagnosi dei problemi, nell&#8217;identificazione di potenziali vulnerabilit\u00e0 e nel mantenimento della conformit\u00e0. Per i professionisti IT e i <a href=\"https:\/\/www.ninjaone.com\/it\/cos-e-un-msp\">Managed Service Provider (MSP)<\/a> che utilizzano NinjaOne, esportare i log NinjaOne di supporto dai sistemi Linux pu\u00f2 essere un&#8217;attivit\u00e0 comune. In questo articolo analizziamo in modo approfondito uno script Bash progettato per automatizzare questo processo.<\/p>\n<h2>Comprendere lo scopo e l&#8217;importanza dello script<\/h2>\n<p>I file di log sono fondamentali per monitorare il comportamento del sistema, diagnosticare i problemi e mantenere le tracce di audit. La piattaforma NinjaOne \u00e8 molto apprezzata dai professionisti IT per le sue capacit\u00e0 di monitoraggio e gestione remota, ma la gestione dei log in ambienti diversi come Linux richiede strumenti affidabili. Questo script semplifica il processo per esportare i log NinjaOne di supporto di NinjaOne in una directory specificata, offrendo comodit\u00e0 e coerenza.<\/p>\n<h2>Lo script per esportare i log NinjaOne:<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">#!\/usr\/bin\/env bash\r\n\r\n# Description: Exports the Ninja Support Logs to the specified directory for Linux.\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\n# Preset Parameter: --destination \"\/tmp\"\r\n#   The directory to export the logs to.\r\n#\r\n# Preset Parameter: --help\r\n#   Displays some help text.\r\n\r\n# These are all our preset parameter defaults. You can set these = to something if you would prefer the script defaults to a certain parameter value.\r\n_arg_destination=\"\/tmp\"\r\n\r\n# Help text function for when invalid input is encountered\r\nprint_help() {\r\n    printf '\\n\\n%s\\n\\n' 'Usage: [--destination|-d &lt;arg&gt;] [--help|-h]'\r\n    printf '%s\\n' 'Preset Parameter: --destination \"\/tmp\"'\r\n    printf '\\t%s\\n' \"Replace the text encased in quotes with the directory to export the logs to.\"\r\n    printf '\\n%s\\n' 'Preset Parameter: --help'\r\n    printf '\\t%s\\n' \"Displays this help menu.\"\r\n}\r\n\r\n# Determines whether or not help text is necessary and routes the output to stderr\r\ndie() {\r\n    local _ret=\"${2:-1}\"\r\n    echo \"$1\" &gt;&amp;2\r\n    test \"${_PRINT_HELP:-no}\" = yes &amp;&amp; print_help &gt;&amp;2\r\n    exit \"${_ret}\"\r\n}\r\n\r\n# Grabbing the parameters and parsing through them.\r\nparse_commandline() {\r\n    while test $# -gt 0; do\r\n        _key=\"$1\"\r\n        case \"$_key\" in\r\n        --destination | -d)\r\n            test $# -lt 2 &amp;&amp; die \"Missing value for the optional argument '$_key'.\" 1\r\n            _arg_destination=$2\r\n            shift\r\n            ;;\r\n        --destination=*)\r\n            _arg_destination=\"${_key##--destination=}\"\r\n            ;;\r\n        --help | -h)\r\n            _PRINT_HELP=yes die 0\r\n            ;;\r\n        *)\r\n            _PRINT_HELP=yes die \"FATAL ERROR: Got an unexpected argument '$1'\" 1\r\n            ;;\r\n        esac\r\n        shift\r\n    done\r\n}\r\n\r\nparse_commandline \"$@\"\r\n\r\n# If script form is used override commandline arguments\r\nif [[ -n $destination ]] &amp;&amp; [[ \"${destination}\" != \"null\" ]]; then\r\n    _arg_destination=\"$destination\"\r\nfi\r\n\r\n# Get the path to the NinjaRMMAgent from the environment variable NINJA_DATA_PATH\r\n_data_path=$(printenv | grep -i NINJA_DATA_PATH | awk -F = '{print $2}')\r\nif [[ -z \"${_data_path}\" ]]; then\r\n    # If the environment variable NINJA_DATA_PATH is not set, try to find the NinjaRMMAgent in the Applications folder\r\n    _data_path=\"\/opt\/NinjaRMMAgent\/programdata\"\r\n    if [[ -z \"${_data_path}\" ]]; then\r\n        echo \"[Error] No NinjaRMMAgent found. Please make sure you have the NinjaRMMAgent installed and that it is running.\"\r\n        exit 1\r\n    fi\r\nfi\r\n\r\n# Get the current date\r\ncur_date=\"$(date +%Y-%m-%d)\"\r\n\r\n# Trim the trailing slash from the destination path\r\ndest_path=$(echo \"$_arg_destination\" | sed 's\/\\\/$\/\/')\r\n\r\n# Collect the logs from the following directories\r\nif [ \"$(command -v zip)\" ]; then\r\n    echo \"[Info] Exporting logs to $dest_path\/NinjaSupportLogs.zip\"\r\n    if zip -r -q \"$dest_path\/$cur_date-NinjaLogs.zip\" \"$_data_path\/logs\" \"$_data_path\/policy\" \"$_data_path\/jsonoutput\" \"$_data_path\/jsoninput\" \"$_data_path\/patch\"; then\r\n        echo \"[Info] Logs exported to $dest_path\/$cur_date-NinjaLogs.zip\"\r\n    else\r\n        echo \"[Error] Failed to export logs to $dest_path\/$cur_date-NinjaLogs.zip\"\r\n        exit 1\r\n    fi\r\nelif [ \"$(command -v tar)\" ]; then\r\n    echo \"[Warn] zip command not found. Using tar instead.\"\r\n    echo \"[Info] Exporting logs to $dest_path\/NinjaSupportLogs.tar.gz\"\r\n    if tar -czf \"$dest_path\/$cur_date-NinjaLogs.tar.gz\" \"$_data_path\/logs\" \"$_data_path\/policy\" \"$_data_path\/jsonoutput\" \"$_data_path\/jsoninput\" \"$_data_path\/patch\"; then\r\n        echo \"[Info] Logs exported to $dest_path\/$cur_date-NinjaLogs.tar.gz\"\r\n    else\r\n        echo \"[Error] Failed to export logs to $dest_path\/$cur_date-NinjaLogs.tar.gz\"\r\n        exit 1\r\n    fi\r\nelse\r\n    echo \"[Error] zip or tar not found. Please install zip or tar.\"\r\n    exit 1\r\nfi<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Risparmia tempo con gli oltre 300 script del Dojo NinjaOne.<\/p>\n<p>\u2192 <a class=\"waffle-rich-text-link\" href=\"https:\/\/www.ninjaone.com\/it\/prova-gratuita\/\">Accedi oggi stesso<\/a>.<\/p>\n<\/div>\n<h2>Descrizione dettagliata dello script per esportare i log NinjaOne<\/h2>\n<h3>Parametri preimpostati e impostazione iniziale<\/h3>\n<p>Lo script per esportare i log NinjaOne inizia con due parametri principali preimpostati:<\/p>\n<ul>\n<li>&#8211;destination (-d): Specifica la directory in cui verranno esportati i registri, per impostazione predefinita \u00e8 \/tmp.<\/li>\n<li>&#8211;help (-h): Fornisce un menu di aiuto dettagliato per l&#8217;uso dello script.<\/li>\n<\/ul>\n<p>Questi parametri assicurano che gli utenti possano facilmente configurare lo script per le loro esigenze specifiche o risolvere i problemi quando necessario.<\/p>\n<h3>Parsing della riga di comando<\/h3>\n<p>La funzione parse_commandline elabora gli input dell&#8217;utente, convalidandoli per assicurarne l&#8217;uso corretto. Se si incontrano argomenti non validi o inattesi, lo script per esportare i log NinjaOne termina, mostrando il relativo testo di aiuto.<\/p>\n<h3>Rilevamento delle variabili ambientali<\/h3>\n<p>Per individuare il percorso dei dati dell&#8217;agente NinjaOne, lo script controlla innanzitutto la variabile d&#8217;ambiente NINJA_DATA_PATH. Se non \u00e8 impostato, il percorso predefinito \u00e8 quello comune di installazione (\/opt\/NinjaRMMAgent\/programdata). Questo meccanismo di fallback garantisce la compatibilit\u00e0 tra ambienti diversi.<\/p>\n<h3>Raccogliere ed esportare i log NinjaOne<\/h3>\n<p>Lo script per esportare i log NinjaOne:<\/p>\n<ul>\n<li>Determina la data corrente per il timestamp dei log esportati.<\/li>\n<li>Taglia gli slash finali dal percorso di destinazione per coerenza.<\/li>\n<li>Raccoglie i log da directory come logs, policy, jsonoutput, jsoninput e patch.<\/li>\n<\/ul>\n<p>In base agli strumenti disponibili nel sistema, i log vengono archiviati utilizzando zip o tar. Questo doppio approccio garantisce la compatibilit\u00e0 con le varie distribuzioni Linux, dando la priorit\u00e0 a zip ma tornando a tar se necessario.<\/p>\n<h3>Gestione degli errori<\/h3>\n<p>Sono integrati solidi meccanismi di gestione degli errori:<\/p>\n<ul>\n<li>Lo script per esportare i log NinjaOne avvisa gli utenti se l&#8217;agente NinjaOne non viene trovato o non \u00e8 in esecuzione.<\/li>\n<li>Avverte della mancanza di utility necessarie (zip o tar).<\/li>\n<li>Notifica agli utenti eventuali errori durante il processo di esportazione dei log.<\/li>\n<\/ul>\n<h2>Caso d&#8217;uso ipotetico<\/h2>\n<p><strong>Scenario<\/strong>: Un MSP che gestisce pi\u00f9 server Linux nota un comportamento incoerente delle applicazioni su un server monitorato tramite NinjaOne. Il tecnico utilizza lo script per esportare i log NinjaOne di supporto per l&#8217;analisi:<\/p>\n<ol>\n<li>Esegue lo script per esportare i log NinjaOne con il parametro &#8211;destination \/path\/to\/logs per salvare i log in una directory personalizzata.<\/li>\n<li>Lo script per esportare i log NinjaOne salva i log in un unico file, con data e ora per la tracciabilit\u00e0.<\/li>\n<li>Il tecnico esamina i log esportati per individuare un problema di configurazione che causa il comportamento dell&#8217;applicazione.<\/li>\n<\/ol>\n<p>Questo efficiente flusso di lavoro riduce al minimo i tempi di inattivit\u00e0 e garantisce una rapida risoluzione.<\/p>\n<h2>Confronto con altri metodi<\/h2>\n<p>Senza questo script per esportare i log NinjaOne, i professionisti IT dovrebbero individuare e copiare manualmente i file di log, con conseguenti inefficienze e potenziali errori. Sebbene alcuni strumenti basati su GUI offrano funzionalit\u00e0 simili, spesso mancano della flessibilit\u00e0 e dell&#8217;automazione fornite da uno script. Per gli ambienti Linux, questo script Bash si distingue per la sua semplicit\u00e0, affidabilit\u00e0 e adattabilit\u00e0.<\/p>\n<h2>Domande frequenti<\/h2>\n<ol>\n<li><strong>Questo script per esportare i log NinjaOne pu\u00f2 essere eseguito su qualsiasi distribuzione Linux?<\/strong><br \/>\nS\u00ec, a condizione che nel sistema siano installati bash e uno tra zip o tar.<\/li>\n<li><strong>Cosa succede se la directory specificata non esiste?<\/strong><br \/>\nLo script per esportare i log NinjaOne non riuscir\u00e0 a scrivere i log e lo comunicher\u00e0 all&#8217;utente. Assicurati che la directory di destinazione esista prima di eseguire lo script.<\/li>\n<li><strong>Come posso verificare che l&#8217;agente NinjaOne sia in esecuzione?<\/strong><br \/>\nControlla lo stato dell&#8217;agente usando comandi di sistema come ps o verificare la directory di installazione per i log attivi.<\/li>\n<li><strong>Cosa succede se ho bisogno di log da altre directory?<\/strong><br \/>\nModifica i comandi zip o tar dello script per includere percorsi aggiuntivi.<\/li>\n<\/ol>\n<h2>Implicazioni dell&#8217;uso dello script per esportare i log NinjaOne<\/h2>\n<p>I log esportati possono contenere informazioni sensibili. Una gestione errata di questi file potrebbe comportare l&#8217;esposizione dei dati o problemi di conformit\u00e0. I team IT devono proteggere i file di log esportati utilizzando le autorizzazioni appropriate e la crittografia, se necessario.<\/p>\n<p>In una prospettiva pi\u00f9 ampia, questo script per esportare i log NinjaOne contribuisce a una gestione proattiva dell&#8217;IT, consentendo una diagnostica pi\u00f9 rapida e rafforzando l&#8217;affidabilit\u00e0 complessiva del sistema.<\/p>\n<h2>Best practice per l&#8217;utilizzo dello script<\/h2>\n<ul>\n<li>Esegui lo script per esportare i log NinjaOne come utente con permessi sufficienti per accedere alla directory dei dati di NinjaOne.<\/li>\n<li>Aggiorna regolarmente lo script per esportare i log NinjaOne per tenere conto delle modifiche alle strutture delle directory o ai requisiti degli strumenti.<\/li>\n<li>Conserva i log esportati in un luogo sicuro e limita l&#8217;accesso al personale autorizzato.<\/li>\n<li>Convalida la presenza delle utility necessarie (zip o tar) prima di distribuire lo script per esportare i log NinjaOne.<\/li>\n<\/ul>\n<h2>Considerazioni finali<\/h2>\n<p>L&#8217;automazione dell&#8217;esportazione dei log di supporto <a href=\"https:\/\/www.ninjaone.com\/it\/\">NinjaOne<\/a> su Linux migliora l&#8217;<a href=\"https:\/\/www.ninjaone.com\/it\/efficienza-it\">efficienza<\/a> e la coerenza per i professionisti IT e gli MSP. Questo script per esportare i log NinjaOne offre una soluzione semplice e potente a una sfida di routine. Sfruttando strumenti come questo, i team IT possono concentrarsi maggiormente sulla gestione proattiva piuttosto che sulle attivit\u00e0 manuali.<\/p>\n<p>NinjaOne continua a fornire ai professionisti IT strumenti che semplificano le operazioni e migliorano la visibilit\u00e0 del sistema. Sia attraverso questo script che attraverso la sua pi\u00f9 ampia suite di soluzioni, NinjaOne rimane un alleato prezioso per mantenere solidi gli ambienti IT.<\/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":"no","_lmt_disable":""},"operating_system":[4211],"use_cases":[4269],"class_list":["post-390673","script_hub","type-script_hub","status-publish","hentry","script_hub_category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/script_hub\/390673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/comments?post=390673"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media?parent=390673"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/operating_system?post=390673"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/use_cases?post=390673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}