Articles
Root Cron Won ' t Kör skript (tillstånd nekad)
On februari 15, 2021 by adminJag har redigerat min root cron-flik för att regelbundet kör ett skript som ligger i en viss användares mapp med det här kommandot:
sudo crontab -e
När cron kör skriptet är detta utdata:
sh: 1: /home/user/Location/Of/Script: Permission denied
Jag trodde att root cron hade tillstånd att göra vad som helst. Jag har inget problem när jag manuellt kör det här skriptet som root.
Jag har läst i dokumentationen att ytterligare felinformation kan hittas här:
sudo cat /var/log/syslog
Här är vad jag hittade:
Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)
Men jag tror att detta förmodligen inte är relaterat till frågan om nekad tillstånd.
Så vad behöver jag verkligen göra?
Kommentarer
Svar
Jag tror att ditt skript inte är körbart. Så använd följande kommando för att göra det:
chmod +x /home/user/Location/Of/Script
Eller, om du inte är ägaren till det manuset:
sudo chmod +x /home/user/Location/Of/Script
Kommentarer
- Så för cron att köra skriptet måste det vara körbart, men manuellt som root inte ' behöver du inte den här flaggan, eller hur?
- Beror på hur du kör manuset manuellt. Om du kör skriptet med
./Scipt
eller/home/user/Location/Of/Script
är det ' inte ok. Vanligtvis måste alla skript vara körbara. Se Hur man kör ett skalskript i Linux . - Det är vettigt, men jag har verkligen kört detta manuellt manuellt ./script sätt utan att stöta på behörighetsproblem tills jag försökte cron det. Tack för din hjälp.
/home/user/Location/Of/Script
? T.ex.la -l /home/user/Location/Of/Script
. För övrigt behöver du en MTA installerad för normal intern användning, även om du inte skickar / tar emot e-post externt. Jag ' överraskar att ditt system inte redan har det installerat.