Details van Last Ran Cron Job in Unix-achtige systemen?

Ik wil de details van de laatste run cron-taak krijgen. Als de taak wordt onderbroken vanwege een aantal interne problemen, wil ik de cron-taak opnieuw runnen.

OPMERKING: Ik heb geen superuser-privilege.


Antwoord 1, Autoriteit 100%

U kunt de datum, tijd, gebruiker en opdracht van eerder uitgevoerde cron-taken gebruiken met:

grep CRON /var/log/syslog

Hiermee wordt alle jobs van weergegeven. Als u alleen banen met een bepaalde gebruiker wilde zien, zou u iets dergelijks gebruiken:

grep CRON.*\(root\) /var/log/syslog

Houd er rekening mee dat Cron aan het begin van een taak logt, zodat u misschien langdurige banen wilt hebben hun eigen voltooiingslogboeken; Als het systeem halverwege een baan daalde, zou het nog steeds in het logboek zijn!

EDIT: Als u geen root-toegang heeft, moet u uw eigen werklogboeken behouden. Dit kan eenvoudig worden gedaan door het volgende aan het einde van uw taakopdracht aan te halen:

&& date > /home/user/last_completed

Het bestand /home/user/last_completedzou altijd de laatste datum en tijd bevatten die de taak is voltooid. U zou >>gebruiken in plaats van >Als u de invuldata van het bestand wilt toevoegen.

U kunt ook hetzelfde bereiken door uw opdracht in een klein bash of SH-script te plaatsen en Cron dat bestand uit te voeren.

#!/bin/bash
[command]
date > /home/user/last_completed

De crontab voor dit zou zijn:

* * * * * bash /path/to/script.bash

Antwoord 2, Autoriteit 18%

/var/log/cronBevat Cron-taaklogboeken. Maar je hebt een root-privilege nodig om te zien.


Antwoord 3, Autoriteit 4%

centos,
sudo grep CRON /var/log/cron

Other episodes