Articles
Root Cron Gewonnen ' t Script uitvoeren (toestemming geweigerd)
Geplaatst op februari 15, 2021 door adminIk heb mijn root-cron-tabblad periodiek gewijzigd voer een script uit dat zich in de map van een bepaalde gebruiker bevindt met behulp van dit commando:
sudo crontab -e
Wanneer cron het script uitvoert, is dit de uitvoer:
sh: 1: /home/user/Location/Of/Script: Permission denied
Ik dacht dat de root-cron toestemming had om iets te doen. Ik heb geen probleem als ik dit script handmatig als root uitvoer.
Ik heb in de documentatie gelezen dat er meer foutinformatie kan worden gevonden hier:
sudo cat /var/log/syslog
Dit is wat ik heb gevonden:
Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)
Ik denk dat dit waarschijnlijk niets te maken heeft met het probleem van de geweigerde toestemming.
Dus wat moet ik echt doen?
Opmerkingen
Antwoord
Ik denk dat uw script niet uitvoerbaar is. Gebruik dus het volgende commando om het te maken:
chmod +x /home/user/Location/Of/Script
Of, als je niet de eigenaar bent van dat script:
sudo chmod +x /home/user/Location/Of/Script
Reacties
- Dus om cron het script te laten draaien moet het uitvoerbaar zijn, maar handmatig als root niet ' heeft deze vlag toch niet nodig?
- Hangt ervan af hoe u het script handmatig uitvoert. Als je het script uitvoert met
./Scipt
of/home/user/Location/Of/Script
het ' s niet ok. Over het algemeen moet elk script uitvoerbaar zijn. Zie Hoe een shell-script in Linux te draaien . - Dat is logisch, maar ik heb dit script echt handmatig uitgevoerd, het ./script manier zonder permissieproblemen tegen te komen totdat ik het probeerde te cronnen. Bedankt voor je hulp.
/home/user/Location/Of/Script
vermelden? Bijv.la -l /home/user/Location/Of/Script
. Overigens heb je voor normaal intern gebruik een MTA nodig, ook als je geen externe e-mail verstuurt / ontvangt. Het verbaasde me ' m dat je systeem het nog niet heeft geïnstalleerd.