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_completed
zou 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/cron
Bevat Cron-taaklogboeken. Maar je hebt een root-privilege nodig om te zien.
Antwoord 3, Autoriteit 4%
centos,
sudo grep CRON /var/log/cron