Проблема с CRON

tolik777

Новичок
Проблема с CRON

Долго думал как обозвать тему, в голову так ничего и не пришло, поэтому обозвал по простетскому.
Вообщем проблема такая - периодически в директории /temp/ создаются много каталогов, а в них файлы. Я сделал скрипт, что если файл создан давно, то он удаляется. Повесил его в крон.
Но вот проблема, скрипт, который запускается из крона выполняется с другим владельцем, и поэтому выдается ошибка "Permission denied" и ничего не удаляется. Если вручную запустить из браузера, то все работает нормально.
Что тут можно придумать?

P.S. Зыбыл сказать, что хостинг виртуальный, поэтому доступа к httpd.conf и php.ini нет.
 

kruglov

Новичок
я думаю, что в браузере скрипт запускается от пользователя апач, а в кроне - от другого пользователя. И удалить файлы, созданные также из-под апача, он не может.

можно кроном открывать скрипт через апач, типа wget или fsockopen в php, тут вариантов много
 

tolik777

Новичок
Строка крона вот:
/usr/local/bin/php /home/****/public_html/cron.php

-~{}~ 31.10.05 18:10:

я думаю, что в браузере скрипт запускается от пользователя апач, а в кроне - от другого пользователя. И удалить файлы, созданные также из-под апача, он не может.
Ну да, я же про это и толкую.
можно кроном открывать скрипт через апач, типа wget или fsockopen в php, тут вариантов много
Тогда наверное через cURL буду делать.
Вообщем других вариантов как я понял нет.
 

uchenik

Новичок
У меня была аналогичная проблема.
Решается просто - указывать в скрипте полный путь к файлам, тоесть "/usr/local/ ... и т.д."
 

Steamroller

Новичок
tolik777, на /temp/ наверно sticky bit стоит.
Попробуй делать это в какой-то другой папке, в которой реально 0777.
 

440hz

php.ru
Автор оригинала: tolik777
Тогда наверное через cURL буду делать.
Вообщем других вариантов как я понял нет.
когда создаешь времнные файлы (если ты их создаешь) ставь им 0777
 

svetasmirnova

маленький монстрик
Может быть ещё одна причина: недостаточные права на /home/****/public_html/cron.php
 

440hz

php.ru
tolik777
а вот ошибка на что собственно выдаётся? как-то упустил? на выполнение скрипта или на сам факт удаления файлов/директориев?
 

tolik777

Новичок
Нет, часть скрипта выполняется нормально. А ошибка выдается именно на факт удаления файлов или директорий.
Попробую в процессе создания CHMOD 777 указать на файл и папку.

У меня была аналогичная проблема.
Решается просто - указывать в скрипте полный путь к файлам, тоесть "/usr/local/ ... и т.д."
А /home/****/public_html/cron.php это разве неполный путь?
Путь тут не причем.
 

uchenik

Новичок
tolik777, путь не в файле crontab, а в скрипте, который обращается к файлам.
 

Tor

Новичок
собралась толпа умников, я смотрю....

на /tmp установлен бит, позволяющий удалять файл только владельцу
от этого и надо плясать
если файлы создаются апачем, то посмотреть юзера, под которым работает апач
в кроне прописать запуск уборщика от этого-же юзера
 

tolik777

Новичок
Tor
Это уже ближе к теме! А как в строке крона прописать юзера?
 

tolik777

Новичок
К шеллу доступа нет вообще. Настраиваю все из-под cPanel.
Ось там FreeBSD стоит.
 
Сверху