Как поставить на Cron? - Папка под паролем

Тема в разделе "Администрирование серверов", создана пользователем Alex777, 4 мар 2010.

Статус темы:
Закрыта.
Модераторы: mefish, stooper
  1. Alex777

    Alex777 Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    78
    Симпатии:
    9
    Ситуация такая:
    Нужно поставить на крон php файл, но проблема в том, что он находится в запароленной через htaccess/htpasswd папке. Как будет правильно прописать команду для крона, чтобы он смог его выполнять?
     
  2. hipachka

    hipachka

    Регистр.:
    16 мар 2009
    Сообщения:
    391
    Симпатии:
    77
    А если создать другой файл в нормальной папке и в нем прописать include ?
     
  3. Alex777

    Alex777 Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    78
    Симпатии:
    9
    Если я правильно понял, то в любом случае при инклуде ему также нужны будут лог и пас от папки с основным файлом.
    Этот файл, сron.php, должен выполняться именно из определенной директории, которая запаролена. Логин и пароль мне известны, и на сколько я понимаю, для его исполнения, в команде нужно как-то указать эти логин и пасс, т.к. если просто прописать путь к нему - он не работатет.
     
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Пароль на папку действует только при webдоступе.
    Если дёргать файл локально напрямую вызывая интерпретатор, а не wget и им подобное, то пароль спрашивать не будет.

    зы при инклуде тоже пароль спрашивать не будет.
     
    Alex777 нравится это.
  5. Solon

    Solon Создатель

    Регистр.:
    5 авг 2008
    Сообщения:
    14
    Симпатии:
    1
    все намного проще
    PHP:
    * * * /usr/bin/curl -u username:password http://www.somewhere.com/pass-protect/sho-to.php
     
    Alex777 нравится это.
  6. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    C точностью наоборот - нечего дёргать крон через web-cервер, если без этого можно обойтись.
    Я б таким юзерам руки выдёргивал.
     
  7. Solon

    Solon Создатель

    Регистр.:
    5 авг 2008
    Сообщения:
    14
    Симпатии:
    1
    Бывают ситуации, когда PHP подключен например в режиме сервиса, как скажем spawn-cgi, например если не используется апач.
    В таком случае и применяется вызов php скрипта через курл, так как напрямую далеко не все идет корректно.
     
  8. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Чёт я не понял какое имеет значение как установлен PHP, это может иметь значение только в одном случае - не установлен PHP CLI.

    Согласен, в некоторых случаях необходим вызов именно через веб при помощи wget/curl и т.д., но в подавляющем большинстве случаев достаточно локального /usr/bin/php
     
  9. Alex777

    Alex777 Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    78
    Симпатии:
    9
    Разобрался - все работает локально, без лог\пасс.

    Просто изначально прописывал такую строку:
    /usr/bin/php /var/www/логин/data/www/сайт.ком/admin/cron.php
    Не воркало, х.з. почему. Папка "админ" под паролем, потому и грешил на это. Хотя читал, что такой вариант как раз и должен работать.

    А заработало по такой команде:
    cd /var/www/логин/data/www/сайт.ком/admin; /usr/bin/php cron.php
     
Статус темы:
Закрыта.