Проблема с файловым доступом апаческого юзера

egoryichinfo

Создатель
Регистрация
19 Мар 2010
Сообщения
43
Реакции
6
Всем привет.

Стоит Ubuntu server 10.04.2 LST, Apache/2.2.14, nginx/0.7.65. Фронтом нжинкс (статика), беком апач (динамика).
Установлен drupal 6.20, настроено расписание бекапа базы(модуль), прописан cron.hourly на выполнение друпаловского крона.
Прописаны доступы на выполнение файла в cron.hourly (root 0755)
друпаловский cron.php (root/user 0755)
Прописан доступ к папке бекапа (www-data/root/user 0777)

При срабатывании крона в логах пишет
Код:
Oct 21 11:21:12 user drupal: http://*******/drupal|1319181672|backup_migrate||http://*******/cron.php?cron.php||0||Could not run backup because the file could not be saved to the destination.

Но если запустить друпаловский крон в ручную, он легко и не принужденно запускает скрипт и сохраняет бекап в туже самую папку. Т.е. при ручном запуске апаческий юзер имеет доступ и права на запись. А когда cron заставляет www-data выполнить скрипт, тот пишет что нет доступа.
Крон срабатывает, проверяет наличие обновлений.

В чем может быть проблема? заранее спасибо)
 
Юзеру www-data скорее всего запрещено производить запись в ваш каталог, это и понятно, безопасность однако, права на папку, в которую он должен сохранять, какие установлены ?
 
Ты в кроне как php вызываешь? php -f /путь_до_скрипта?
Тебе тогда нужно сделать, чтобы друпаловский крон использовал полные пути (var/www/123/www/123/), т.к. иначе:
Берем тестовый скрипт test.php с содержимым: file_put_contents('test.txt', 'test'); который находится в папке /var/www/test/www/site.com/test.com
Если ты его запустишь через браузер, то он у тебя сохранит в /var/www/123/www/123/test.txt, если php -f /var/www/123/www/123/test.php, то он у тебя будет пытаться сохранить примерно в /var/www/test/test.txt.
 
в cron.hourly/drupal у меня прописано
#!bin/sh
cd /home/a***/develop/drupal
php cron.php

Юзеру www-data скорее всего запрещено производить запись в ваш каталог, это и понятно, безопасность однако, права на папку, в которую он должен сохранять, какие установлены ?
Права что нужны я указал в первом сообщении, с ними все впорядке
 
Ну да, к "php cron.php" то что я писал выше тоже относится.
Скидывай код cron.php
З.Ы. Или юзай wget -q -O /dev/null Для просмотра ссылки Войди или Зарегистрируйся, но тогда если я правильно понимаю будет еще дергаться apache.
 
Назад
Сверху