Sida 1 av 1

Root köra script via cron i Ubuntu? [LÖST]

Postat: 05 okt 2008, 16:37
av Majo
Jag har problem att få cron att köra skript. Skriptet behöver ha behörigheter som root och jag provade därför att köra det som root i crontab, utan framgång - skriptet exekverar inte. I princip fungerar inget i crontab om man kör som root. Det slog mig då att rootanvändaren är inaktiverad i Ubuntu, vilket borde vara den uppenbara anledningen till att skriptet inte körs, eller hur? Finns det något sätt att köra skriptet som min vanliga användare och använda sudo? I så fall, hur? Och om jag ska köra med sudo måste jag väl skriva mitt lösenord med klartext i skriptet, vilket inte känns helt bekvämt? Eller tänker jag fel? ???

Re: Root köra script via cron i Ubuntu?

Postat: 05 okt 2008, 16:49
av mcNisse
I principip gör du så här för att köra cronjob som root.

Kod: Markera allt

sudo crontab -e
Lägg till de jobb du vill köra... klartt.

Re: Root köra script via cron i Ubuntu?

Postat: 05 okt 2008, 18:30
av Majo
mcNisse skrev:I principip gör du så här för att köra cronjob som root.

Kod: Markera allt

sudo crontab -e
Lägg till de jobb du vill köra... klartt.
Nu hänger jag inte riktigt med...var skriver jag det? ???

Re: Root köra script via cron i Ubuntu?

Postat: 05 okt 2008, 18:33
av mcNisse
I terminalen så klart ;) Har tråden flyttats från nybörjar forat?

Re: Root köra script via cron i Ubuntu?

Postat: 05 okt 2008, 18:48
av Majo
mcNisse skrev:I terminalen så klart ;) Har tråden flyttats från nybörjar forat?
Jag öppnar /etc/crontab med Nano och lägger till följande rad:

05 01 * * * root /bin/mitt_script.sh

Sparar ändringarna och därefter körs mitt script klockan 01:05 varje natt. Fungerar klockrent om rootanvändaren är aktiverad, men inte om root är inaktiverad som i Ubuntu. Min fråga var hur man löser det? Det jag kommer på är att aktivera root eller försöka använda sudo i scriptet. Var kommer Terminalen in i det hela? Om jag kollar mansidan för Cron säger den följande om ditt förslag:
-e This option is used to edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. After you exit from the editor, the modified crontab will be installed automatically.

Hur får du ihop det?

Re: Root köra script via cron i Ubuntu?

Postat: 05 okt 2008, 19:05
av Konservburk
Det manualbladet säger är att om du kör kommandot:

Kod: Markera allt

EDITOR=nano sudo crontab -e
så kommer den att öppna roots crontab-fil med nano. Sedan är det bara för dig att lägga in cron-jobben som vanligt, t.ex: 05 01 * * * /usr/local/bin/mitt_script.sh

Re: Root köra script via cron i Ubuntu?

Postat: 05 okt 2008, 19:23
av Majo
Konservburk skrev:Det manualbladet säger är att om du kör kommandot:

Kod: Markera allt

EDITOR=nano sudo crontab -e
så kommer den att öppna roots crontab-fil med nano. Sedan är det bara för dig att lägga in cron-jobben som vanligt, t.ex: 05 01 * * * /usr/local/bin/mitt_script.sh
Ok, det verkar fungera. Stort tack! :D :)

Re: Root köra script via cron i Ubuntu?

Postat: 05 okt 2008, 23:04
av micke_nordin
Om någon av någon konstig anledning inte skulle tycka om att hacka i crontab i terminalen borde det väl också funka att köra:

Kod: Markera allt

 gksudo gnome-schedule
Eller?

/Micke

Re: Root köra script via cron i Ubuntu?

Postat: 06 okt 2008, 17:57
av Majo
Konservburk skrev:Det manualbladet säger är att om du kör kommandot:

Kod: Markera allt

EDITOR=nano sudo crontab -e
så kommer den att öppna roots crontab-fil med nano. Sedan är det bara för dig att lägga in cron-jobben som vanligt, t.ex: 05 01 * * * /usr/local/bin/mitt_script.sh
Hmm...det verkar inte fungera trots allt. Jag kollade i syslog för den tidpunkt som var satt i crontab och hittade detta meddelande:

Cron (15552): User account has expired


Vad kan det betyda, månne? Syftas det på rootkontot eller vad? ??? :-[

Re: Root köra script via cron i Ubuntu?

Postat: 06 okt 2008, 19:36
av Konservburk
Majo skrev:Hmm...det verkar inte fungera trots allt. Jag kollade i syslog för den tidpunkt som var satt i crontab och hittade detta meddelande:

Cron (15552): User account has expired


Vad kan det betyda, månne? Syftas det på rootkontot eller vad? ??? :-[
Det är root-kontot som åsyftas här, ja. Gissningsvis så har det något att göra med expire-fältet för root-kontot i filen /etc/shadow. Ta bort allt som står i det fältet (allt mellan näst sista och sista kolonet) så borde det lösa sig.

Re: Root köra script via cron i Ubuntu?

Postat: 07 okt 2008, 21:43
av Majo
Konservburk skrev:
Majo skrev:Hmm...det verkar inte fungera trots allt. Jag kollade i syslog för den tidpunkt som var satt i crontab och hittade detta meddelande:

Cron (15552): User account has expired


Vad kan det betyda, månne? Syftas det på rootkontot eller vad? ??? :-[
Det är root-kontot som åsyftas här, ja. Gissningsvis så har det något att göra med expire-fältet för root-kontot i filen /etc/shadow. Ta bort allt som står i det fältet (allt mellan näst sista och sista kolonet) så borde det lösa sig.
Tack igen! Nu verkar det fungera som det ska. :D