WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Identifiera cronjob (https://www.wn.se/forum/showthread.php?t=1050867)

gregoff 2011-11-08 17:56

Identifiera cronjob
 
Hej!

Hittade en logfil ( /var/log/cron.log ) som antydde att jag har ett cronjob som kör varje minut. Loggen påvisar att .sh-filen som försökte köras returnerade ett fel. .sh-filen som körs via cronjobet har jag skapat själv och jag har vid något tillfälle skapat ett cronjob som kördes varje minut i testsyfte (så det är inget lömskt med detta).

utdrag från loggen:
Nov 3 00:44:01 pegasus /USR/SBIN/CRON[1644]: (root) CMD (root bash /var/www/dev.se/scripts/sitemap.sh)
Nov 3 00:44:01 pegasus /USR/SBIN/CRON[1643]: (CRON) error (grandchild #1644 failed with exit status 127)
Nov 3 00:44:01 pegasus /USR/SBIN/CRON[1643]: (CRON) info (No MTA installed, discarding output)
Nov 3 00:45:01 pegasus /USR/SBIN/CRON[8078]: (root) CMD (root bash /var/www/dev.se/scripts/sitemap.sh)
Nov 3 00:45:01 pegasus /USR/SBIN/CRON[8077]: (CRON) error (grandchild #8078 failed with exit status 127)
Nov 3 00:45:01 pegasus /USR/SBIN/CRON[8077]: (CRON) info (No MTA installed, discarding output)

Problemet är att jag hittar inte (kommer inte ihåg helt enkelt) vart jag kan ta bort cronjobet. Kollat i crontab och i /etc/cron-mapparna men hittar inget om detta (inget som innehåller den specifika sökvägen till .sh-filen). Det enda jag har med den filen är ett cronjob som ligger i crontab som körs var 3:e timme, men det som står i loggen körs varje minut. Det som körs var 3:e timme genererar inte heller några felmeddelanden och fungerar som det ska.

Några tips?

EDIT: jag kör Debian 6, 64-bitars

acidflash 2011-11-08 19:02

Om du vet vilken användare som kör är det bara köra "crontab -e" på den användare

Danski 2011-11-08 22:13

Crontab ägs av varje enskild användare, kommer du inte ihåg vilken användare som skapat cronjobs så kör följande som root:
for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done:

Det bör lista alla användare och deras cronjobs.

gregoff 2011-11-09 08:09

Citat:

Ursprungligen postat av Danski (Inlägg 20423180)
Crontab ägs av varje enskild användare, kommer du inte ihåg vilken användare som skapat cronjobs så kör följande som root:
for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done:

Det bör lista alla användare och deras cronjobs.

den resulterade i syntax error. Är lite väl ny på linux för att se själv vart syntax-felet ligger.

gregoff 2011-11-09 08:28

Citat:

Ursprungligen postat av gregoff (Inlägg 20423221)
den resulterade i syntax error. Är lite väl ny på linux för att se själv vart syntax-felet ligger.

Sen kan man ändra sista : till ett ; med ;-)

Men detta var nog en dead-end. Den listar alla användare, men varje användare resulterar i "no crontab for <användare>".

emilv 2011-11-09 08:42

Du säger att du kollat "i crontab". Betyder det att du både kollat i filen "/etc/crontab" och med "crontab -l" som root?

gregoff 2011-11-09 08:53

Citat:

Ursprungligen postat av emilv (Inlägg 20423224)
Du säger att du kollat "i crontab". Betyder det att du både kollat i filen "/etc/crontab" och med "crontab -l" som root?

Exakt så ja.

hnn 2011-11-09 09:29

Citat:

Ursprungligen postat av gregoff (Inlägg 20423228)
Exakt så ja.

Han ställde två frågor och ditt svar är ja på båda? Eller är det bara svar på en av dom?

gregoff 2011-11-09 09:48

Citat:

Ursprungligen postat av hnn (Inlägg 20423237)
Han ställde två frågor och ditt svar är ja på båda? Eller är det bara svar på en av dom?

Egentligen hade jag bara kollat en, men kollade den andra nu innan... så det är ja på båda ;-)


Alla tider är GMT +2. Klockan är nu 05:18.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson