Crontab na Debian 9
Zdravím,
na VPS jsem si rozjel Debian 9, systém je nainstalovaný z obrazu, doinstlaoval jsem tedy jen LAMP. Do SSH jeem přihlášený jako root, tzn. můj nový web je vytvořený ve /var/www/web.cz s oprávněním root. Všechno jede až na crony. Ve svém /var/www/web.cz mám cron.php. který jen přes file_put_contents do souboru vloží čas. V crontab mám pak nastaveno /usr/bin/php /var/www/web.cz/cron.php, pokud spustím přes terminál tak je ok, cronem to nemá práva k zápisu do souboru, který PHP skript edituje/vytváří. Přitom crontab se spouští jako root. Zkoušel jsem nastavit /var/www jako www-data:www-data a to stejné pro crontab (crontab -u www-data -e).
Ale ať dělám co dělám, s tímto prostě nemůžu hnout. Nějaké rady prosím?
4 Answers
Dobrý den,
na VPS máte (nebo měl byste mít) přístup k root uživateli, takže můžete cokoli.
Skús v crontabe volať priamo url cez prikaz curl alebo wget.
To samozřejmě (bohužel) funguje, ale není to řešení. Takto napsané je to jen proto abych zkusil, že vše funguje (a nefunguje). Na produkční aplikaci se spouští cron přes SH, takže jej přes wget nezavolám.
Už jsem zjistil problém, v PHP souboru je file_put_contents(‚output.txt‘), cron jej vytvoří v rootu. Můžu nějak změnit toto chování?