схема:
systemd сервис каждые 10 минут обращается к bash скрипту, который в свою очередь обращается к php. Задача PHP скрипта скачать видео, обработать его и отправить.
cronbot.service
[Unit]
Description=cronbot online service
[Service]
Type=simple
ExecStart=/var/www/domain.com/bashtophp.sh
cronbot.timer
Description=CronBOT Run every 10 minutes
[Timer]
OnBootSec=1min
OnUnitActiveSec=10min
Unit=cronbot.service
[Install]
WantedBy=multi-user.target
BASH
#!/bin/bash
php -f /var/www/domain.com/camengine.php true
Если открыть скрипт (сайт) через браузер, то всё отработает нормально, но если запустить сервис cronbot.service (или просто запустить из консоли
php -f /var/www/domain.com/camengine.php true
), то будет вот такая ошибка:
PHP Warning: file_put_contents(video/20.16.44-20.17.18[M][0@0][0].dav): Failed to open stream: No such file or directory in /var/www/domain.com/camengine.php on line 397
<br />
<b>Warning</b>: file_put_contents(video/20.16.44-20.17.18[M][0@0][0].dav): Failed to open stream: No such file or directory in <b>/var/www/domain.com/camengine.php</b> on line <b>397</b><br />
То есть файл не может записаться... или не записаться... я не знаю
root@stockholm:~# ls -l /var/www/domain.com/
total 64
-rwxr-xr-x 1 root root 61 Jan 4 20:25 bashtophp.sh
-rw-r--r-- 1 root root 6760 Jan 4 20:01 cambot.php
-rw-r--r-- 1 root root 37157 Jan 4 20:15 camengine.php
-rw-r--r-- 1 www-data www-data 23 Jan 4 15:41 index.php
-rw-r--r-- 1 www-data www-data 26 Jan 4 16:08 robots.txt
drwxrwxrwx 2 www-data www-data 4096 Jan 4 20:40 video
Как видите, пытался выбрать права 777 для папки video - не помогло. Скажите, куда копать?