Kürzlich habe ich ein Spark-Streaming-Programm in einem Hadoop-Testcluster ausgeführt und dann nohup ./execute.sh & verwendet, um das Programm im Hintergrund auszuführen. Nach nur wenigen Tagen war die Protokolldatei größer als G. Wenn ein Problem auftritt und ich die Protokolldatei anzeigen möchte, ist das Öffnen der Datei offensichtlich mühsam, daher habe ich versucht, die Dateigröße wie folgt zu reduzieren: 1. Erklärung des Nohup-Befehls: a. Syntax: nohup [Befehl] [Argumente] [&] b. Beschreibung: Der Befehl „nohup“ führt den durch den Parameter „Command“ und alle zugehörigen Arg-Parameter angegebenen Befehl aus und ignoriert dabei alle Auflegesignale. Verwenden Sie den Befehl nohup, um das Programm nach der Abmeldung im Hintergrund auszuführen. Um den Befehl nohup im Hintergrund auszuführen, fügen Sie am Ende des Befehls & (das Symbol für „und“) hinzu. Wenn Sie keine Umleitung angeben, wird das Protokoll standardmäßig in die Datei nohup.out im aktuellen Verzeichnis ausgegeben. Senden Sie es im Allgemeinen so: nohup ./execute.sh &, sodass sich das Protokoll oder die Ausgabe im aktuell ausgeführten Verzeichnis befindet.nohup.out Umleitung: nohup ./execute.sh > /home/xxx/log.log 2>&1 & : Auf diese Weise wird das Protokoll in das angegebene Verzeichnis umgeleitet 2. Teilen Sie nohup.out auf und verhindern Sie, dass es unbegrenzt wächst Der allgemeine Übermittlungsbefehl, den ich hier verwende, lautet: nohup ./execute.sh &, sodass im aktuellen Verzeichnis eine nohup.out-Datei vorhanden ist. Zu diesem Zeitpunkt können Sie eine Möglichkeit finden, nohup.out regelmäßig in mehrere kleine Dateien aufzuteilen, aber gleichzeitig sicherzustellen, dass nohup.out nicht unbegrenzt wächst (im Allgemeinen kann das Programm nicht unterbrochen werden): a. Teilen Sie jeden Tag (stellen Sie die Zeit nach Bedarf ein) das Protokoll des Vortages regelmäßig auf (wenn es beispielsweise etwa 1 g pro Tag sind, können Sie es jedes Mal in etwa 100 m aufteilen). b. Nach dem Aufteilen wird die Datei nohup.out gespeichert, um sicherzustellen, dass das neue Ausgabeprotokoll weiterhin in nohup.out ausgegeben wird Das Obige in der Schale current_date=`Datum -d "-1 Tag" "+%Y%m%d"` split -b 65535000 -d -a 4 nohup.out ./log/log_${current_date}_ Der Befehl split wird hier verwendet, um die nouhup-Datei entsprechend der angegebenen Größe aufzuteilen (65535000b sind etwa 60 MB, die Größe kann angepasst werden) und in das angegebene Format aufzuteilen (-d -a 4 mit einem 4-stelligen Suffix, beginnend bei 0000, für Details können Sie den Befehl split von Baidu verwenden), das endgültige Ausgabeformat ist log_20160610_0001 cat /dev/null > nohup.out (Dieser Befehl löscht sofort die Datei nohup.out und schreibt später weiter in die Datei) und leitet das Protokoll an /dev/null weiter. Dasselbe kann mit umgeleiteter Ausgabe erreicht werden, außer dass stattdessen der umgeleitete Dateiname verwendet wird. Definieren Sie diese Befehle in einer Shell-Datei und führen Sie sie regelmäßig jeden Tag aus. Auf diese Weise werden die täglichen Protokolle in mehrere Teile aufgeteilt, was bei der Fehlerbehebung und bei zu großem Protokollrückstand praktisch ist. Sie können historische Protokolle regelmäßig löschen und nur die letzten paar Tage behalten. Der Gesamtcode lautet wie folgt: dieser_Pfad=$(cd `dirname $0`;pwd) cd $diesen_Pfad echo $diesen_Pfad current_date=`Datum -d "-1 Tag" "+%Y%m%d"` echo $aktuelles_datum split -b 65535000 -d -a 4 /home/.../nohup.out /home/.../log/log_${current_date}_ cat /dev/null > nohup.out Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: JavaScript-Timer zum nahtlosen Scrollen von Bildern
>>: Mysql kann keine nicht aggregierten Spalten auswählen
Ich habe im LOFTER-Wettbewerb gesehen, dass erwähn...
Der folgende Fall überprüft die Wissenspunkte der...
Die Swap-Partition des Linux-Systems, also die Sw...
Inhaltsverzeichnis 1. Weltweit registrierte Kompo...
In diesem Artikel sind einige sogenannte Spezifik...
Inhaltsverzeichnis Union-Abfrage 1. Fragen Sie di...
Vorwort mysqlslap ist ein Diagnoseprogramm, das d...
Manchmal müssen Sie mehrere Bereiche auf einem Bi...
Nachdem das im vorherigen Artikel besprochene Prob...
Inhaltsverzeichnis 1. Parameter, die die Groß-/Kl...
Vorwort Das Linux-System wird durch den Systemdie...
MySQL zeichnet zeitaufwändiges SQL auf MySQL kann...
1. Entpacken Sie die Datei in das aktuelle Verzei...
Inhaltsverzeichnis Hintergrund erkunden Zusammenf...
In diesem Artikel wird das ausführliche Installat...