[LINUX] Löschen Sie das cron.log regelmäßig, um ein Wachstum zu verhindern.

Einführung

Führen Sie regelmäßig Befehle aus, die von ** cron ** ausgeführt werden (dh Befehle, die von ** crontab -e ** festgelegt wurden), und verwenden Sie den Dienst ** rsyslog ** für ** /var/log/cron.log **. Nach der Einstellung zum Schreiben wird diese Protokolldatei für immer geschrieben, und ich habe mich gefragt, ob die Kapazität zunehmen würde, sodass die Datei ** / var / log / cron.log ** regelmäßig gelöscht wird Ich habe beschlossen, es mit ** cron ** einzustellen.

Umgebung

Ubuntu 16.04.5 LTS

Was ich versucht habe 1

Ich möchte nur die Protokolldatei löschen und cron den folgenden Befehl planen lassen. Sicher, es hat die Protokolldatei gelöscht, aber es stellt sich heraus, dass die Protokolldatei nur erstellt wird, wenn der rsyslog-Dienst neu gestartet wird. Darüber hinaus kann es nicht ohne Root-Rechte gelöscht werden. Daher ist diese Methode tot.

rm /var/log/cron.log

Was ich versucht habe 2

** / var / log / cron.log ** Selbst wenn ich den Inhalt lösche und beim Verlassen der Datei eine leere Datei von 0 KB mache, stellt sich heraus, dass ich nicht ohne Rootberechtigung schreiben kann.

cp /dev/null /var/log/cron.log

So führen Sie einen Befehl mit sudo aus, der in cron angegeben ist (Stolpern mit vim)

Beim Bearbeiten von ** visudo ** stellte sich heraus, dass der Befehl mit dem angegebenen sudo von cron ausgeführt werden kann. Versuchen wir es also.

sudo visudo

Wenn Sie unter Ubuntu visudo anzeigen, wird ** nano ** standardmäßig gestartet. Ändern Sie es daher in ** vim **.

sudo update-alternatives --config editor

Referenzartikel https://qiita.com/koara-local/items/35b999631b6ab41fdc9f

In meiner Umgebung gibt es zwei vims, ** vim.nox ** und ** vim.tiny **. Da vim.nox jedoch mit dem folgenden Befehl angezeigt wird, wählen Sie vim.nox aus. Ich werde das machen. (Wählen Sie 3 auf dem Bildschirm)

ls -l /etc/alternatives/vi
/etc/alternatives/vi -> /usr/bin/vim.nox

Vergewissern Sie sich nach dem Wechsel zu vim.nox, dass es erneut geändert wurde.

sudo update-alternatives --config editor

Es wird jetzt in vim anstelle von nano angezeigt.

sudo visudo

So führen Sie einen Befehl mit in cron angegebenem sudo aus (Diskussion darüber)

Es gibt zwei Möglichkeiten, Visudo zu bearbeiten: Eine besteht darin, Visudo direkt zu bearbeiten, und die andere darin, ein ** Drop-In ** zu erstellen, ohne Visudo zu berühren. Der folgende Befehl sucht nach einer Datei und einem Verzeichnis. Wenn Sie visudo bearbeiten, wird die Datei ** / etc / sudoers ** bearbeitet. Wenn Sie jedoch eine Datei mit nur den Zeilen festlegen, die Sie im Verzeichnis ** / etc / sudoers.d ** bearbeiten möchten, wird die Datei sudoers erstellt. Es scheint, dass Sie mit dem Drop-In-Mechanismus Anpassungen vornehmen können, ohne ihn zu berühren. Einige Leute empfehlen Drop-In, aber ich habe beschlossen, Visudo direkt zu bearbeiten.

ls /etc | grep sudo

Referenzartikel https://www.teradas.net/archives/13222/

So führen Sie einen Befehl mit sudo aus, das in cron angegeben ist (Bearbeiten von visudo)

Referenzartikel https://www.bloguchi.info/1846 https://www.crossl.net/blog/crontab/

Wenn ich gegoogelt habe, wird ** Standard: Benutzeranforderung ** standardmäßig beschrieben. Beschreiben Sie daher bitte ** Standardeinstellungen: Benutzer! Erforderlich ** und deaktivieren Sie ** Standardeinstellungen: Benutzeranforderung **. In RedHat-basierten Distributionen wird jedoch standardmäßig ** Defaults: user requireetty ** beschrieben, in Debian-basierten Distributionen wird dies jedoch nicht standardmäßig beschrieben. Sicher war es nicht in meiner Umgebung.

sudo visudo

Fügen Sie also nur diese eine Zeile hinzu. Suchen Sie nach dem Pfad des Befehls ** cp ** mit ** dem cp **.

user ALL=(root)   NOPASSWD: /bin/cp

Referenzartikel https://orebibou.com/2017/06/sudo%E3%81%A7%E8%A6%9A%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8F%E3%81%A8%E4%BE%BF%E5%88%A9%E3%81%AA%E8%A8%AD%E5%AE%9A%E3%83%BB%E4%BD%BF%E3%81%84%E6%96%B9/#Defaults

** crontab -e **, füge diese eine Zeile mit sudo hinzu.

*/1 * * * * sudo cp /dev/null /var/log/cron.log

Natürlich konnte ich bestätigen, dass die Dateigröße klein war. (Es wurde bestätigt, dass der Befehl mit sudo ausgeführt wurde)

ls -l /var/log/cron.log

C'est fini :sweat_smile:

Recommended Posts

Löschen Sie das cron.log regelmäßig, um ein Wachstum zu verhindern.
Fügen wir es der Umgebungsvariablen mit dem Befehl ~ hinzu
So machen Sie einen Screenshot des Chrome-Bildschirms (verhindern Sie, dass er in der Mitte abgeschnitten wird)
Von der Einführung der GoogleCloudPlatform Natural Language API bis zur Verwendung
Zum ersten Mal in Numpy werde ich es von Zeit zu Zeit aktualisieren
[Python] Senden Sie das von der Webkamera aufgenommene Bild an den Server und speichern Sie es
Ist es möglich, die Profilinformationen der Person aus dem Chat-Protokoll zu extrahieren?
So bedienen Sie Linux von der Konsole aus
So greifen Sie von außen auf den Datenspeicher zu
Mach regelmäßig etwas von Heroku bis Shotgun
Ändern Sie den Dezimalpunkt der Protokollierung von, nach.
So bedienen Sie Linux von außen Vorgehensweise
POST-Images von ESP32-CAM (MicroPython) an den Server
So messen Sie die Leitungsgeschwindigkeit vom Terminal aus
Von der Einführung von Pyethapp bis zur Vertragsabwicklung
Die Geschichte vom Umzug von Pipenv zur Poesie