- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть root доступ к серверу. На сервере есть говнопанель и в ней несколько юзеров.
В папке /var/spool/cron/crontabs я вижу файлы крон этих юзеров.
А мне нужно запустить крон от рута. зашел через crontab -e cоздал файл с названием root прописал команду, корректно пересохранил, и нифига!
В сис логе вижу что команда выполняется, но эффекта нет. Как так?
Это просто запуск пхп скрипта
если выполняется, то выполняется... надо проблему искать не в кроне.
возможно php скрипт заканчивается какой-то ошибкой - потому и нет "эффекта".
можно пропробовать вручную:
заходим в /etc/cron.d и создаем там файл с любым именем.
в первой строке пишем MAILTO=[ящик куда пойдет письмо в случае чего]
дальше:
* * * * * root [путь к php] [путь к скрипту]
периодичность запуска естественно ставим какую нужно.
если скрипт закончится с ошибкой, на ящик придет все что он там написал.
проблема еще можеть быть в самой строке запуска. например пишете просто php. у вас работает, но у крона может не работать, лучше писать полный абсолютный путь.
также и со скриптом самим. вы его может запускаете из его папки и внутри скрипта используются относительные пути. а потом из под крона оно может оказаться что запускается из другой папки - опять же, лучше использовать абсолютные пути. или вверху скрипта задать какой-то ROOT='путь' и дальше в скрипте использовать не относительные пути, а ROOT плюс что там нужно...
короче надо смотреть вживую, без этого можно лишь догадываться что там у вас не срабатывает.
прописал в конце команды вывод в лог
* * * * * /usr/bin/php /var/www/export.php >/var/log.log 2>&1
в логе пусто
просто запуск из консоли /usr/bin/php /var/www/export.php вызывает нормальное срабатывание скрипта
В сис логе
Aug 12 20:24:01 dedic1676fas CRON[769]: (root) CMD ( /usr/bin/php /var/www/export.php ) // не работает
Aug 12 20:24:01 dedic1676fas CRON[770]: (fastuser) CMD (/usr/bin/php /var/www/fastuser/data/www/wa.php) //работает
Aug 12 20:24:01 dedic1676fas CRON[771]: (fastuser) CMD (/usr/bin/php /var/www/fastuser/data/www/co.php) //работает
ПРоблема решена - все это время нужный файл создавался в папке /root а не там, где я его ждал...
А как вы его создавали или чем?
да просто в скрипте используются относительные пути скорей всего.
вот и выходит, что если по обычному запускать, из его же папки, то все в норме.
но крон запускает этот скрипт находясь в /root - домашнем каталоге юзера root
короче не в кроне дело, а в скрипте самом
либо править все на абсолютные пути, либо можно попробовать в самом верху добавить:
chdir(pathinfo($_SERVER['SCRIPT_FILENAME'],PATHINFO_DIRNAME));
т.е. определить полный путь к скрипту, взять из него имя каталога и перейти в него. дальше уже можно относительными путями оперировать.