Articles
Root Cron Won ' t Spustit skript (oprávnění odepřeno)
On 15 února, 2021 by adminPravidelně jsem upravoval svoji kořenovou kartu cron spusťte skript umístěný ve složce konkrétního uživatele pomocí tohoto příkazu:
sudo crontab -e
Když cron spustí skript, je to výstup:
sh: 1: /home/user/Location/Of/Script: Permission denied
Myslel jsem, že kořenový cron má oprávnění dělat cokoli. Nemám problém, když tento skript ručně spustím jako root.
Četl jsem v dokumentaci , že lze najít další informace o chybě zde:
sudo cat /var/log/syslog
Zde jsem našel:
Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)
Nicméně myslím, že to pravděpodobně nesouvisí s problémem s odepřením oprávnění.
Co tedy opravdu musím udělat?
Komentáře
Odpověď
Myslím že váš skript nelze spustit. Použijte tedy následující příkaz:
chmod +x /home/user/Location/Of/Script
Nebo, pokud nejste vlastníkem tohoto skriptu:
sudo chmod +x /home/user/Location/Of/Script
Komentáře
- Aby mohl cron spustit skript, musí být spustitelný, ale ručně jako root ' Tento příznak nepotřebujete, že?
- Záleží na tom, jak spustíte skript ručně. Pokud spustíte skript pomocí
./Scipt
nebo/home/user/Location/Of/Script
není to ' v pořádku. Obecně musí být každý skript spustitelný. Viz Jak spustit shell skript v Linuxu . - To dává smysl, ale tento skript jsem opravdu spouštěl ručně ./script způsobem, aniž bych narazil na problémy s oprávněními, dokud jsem se to nepokusil cron. Děkujeme za vaši pomoc.
/home/user/Location/Of/Script
? Např.la -l /home/user/Location/Of/Script
. Mimochodem, potřebujete MTA nainstalované pro běžné interní použití, i když neposíláte / nepřijímáte e-maily externě. ' m jsem překvapen, že váš systém jej již nemá nainstalovaný.