Страница 1 из 1

Cron

UNREAD_POSTДобавлено: 11.08.2015 03:18:21
paracord
Привет всем.
Тут такая вот вещь, не запускается через крон, а так же через консоль.
У меня магазин на Prestashop ,база большая, а через эту программу решил прикрутить к крону ,что бы база автоматом бэкапилась.

Я честно говоря или не разобрался с синтаксисом,или что то не то идёт.

После сохранения файла конфигурации он создается файл,но в папке Backup.
Вручную создаётся копия базы, а автоматом нет.
У меня купленная про версия (не знаю,играет это какую то роль?)
Я пишу вот эту строчку:
/usr/bin/php /var/www/vhosts/***.**/***.***/sxd/index.php-j=sj_neu1.job.php
где sj_neu1.job.php ,это файл который создался автоматом с конфигом,но он находится в папке Backup.
Я уже и пути разные писал и т.п. ,но не создаётся база.
Что то наверное я не так делаю.
Помогите пожалуйста советом.
Заранее спасибо.

Re: Cron

UNREAD_POSTДобавлено: 11.08.2015 12:57:27
zapimir
Не нужно писать полное название файла, только имя которое вводили при сохранении, т.е. в вашем случае

.../sxd/index.php -j=neu1

Re: Cron

UNREAD_POSTДобавлено: 11.08.2015 13:39:25
paracord
Спасибо,странно что этого нигде нет в описании вообще или я вообще читать разучился;)
А то что он в другой папке.а не в корне находится,так и должно быть?

Re: Cron

UNREAD_POSTДобавлено: 11.08.2015 17:39:10
paracord
Сейчас попробовал,работает все отлично, спасибо огромное еще раз.

Re: Cron

UNREAD_POSTДобавлено: 11.08.2015 21:00:47
paracord
одно решилось,так второе началось.
С консоли работает,вставляю в задачу крона- тишина. Пользуюсь планировщиком от панели Plesk.
Незнаю, как быть? Подскажите пожалуйст.

Re: Cron

UNREAD_POSTДобавлено: 11.08.2015 22:55:46
paracord
и еще, с браузера,если вставляю эту строку,то выходит 404 ошибка, скорее всего это из за htaccess , а вот с консоли ssh запескается нормально.
Вот теперь незнаю,как добавить в крон.....

Re: Cron

UNREAD_POSTДобавлено: 11.08.2015 23:08:20
paracord
"/usr/bin/php /var/www/vhosts/*****/index.php -j=neu2"

вот это с консолиработает и делает базу, а вот с крона приходит вот это сообщение:
Could not open input file: /var/www/vhosts/*********/index.php

подскажите пожалуйста,куда копать?

Re: Cron

UNREAD_POSTДобавлено: 11.08.2015 23:53:20
paracord
попробовал с curl,
curl: option -j=neu2: is unknown
curl: try 'curl --help' or 'curl --manual' for more information

вот что выдало. Я вообще не понимаю,что и как дальше делать.

Re: Cron

UNREAD_POSTДобавлено: 12.08.2015 01:38:01
zapimir
Как вариант можно попробовать такой вызов
Код: Выделить всё
cd /var/www/vhosts/domainname.com/httpdocs/sxd/; php -q index.php -j=neu2

Re: Cron

UNREAD_POSTДобавлено: 12.08.2015 02:54:15
paracord
спасибо за помощь,но к сожалению выдало вот это:
Код: Выделить всё
/bin/sh: 1: cd: can't cd to /var/www/vhosts/***.**/sxd/
Could not open input file: index.php


странно как то, под SSH под рутом работает,а так нет?

Re: Cron

UNREAD_POSTДобавлено: 12.08.2015 13:08:56
zapimir
В таком случае похоже нужно играться с правами доступа к файлам (chmod). Какой chmod у index.php?

Re: Cron

UNREAD_POSTДобавлено: 13.08.2015 08:14:58
paracord
Уже перепробовал всевозможные варианты и 777 и 755 ...644... возможно дела в пользователе ? Хотя так же перепробовал и под рутом и под www. Странно ,что в логах ошибок нет . Как можно выловить ,в чем дело ? И почему из браузера 404 выходит,а под консолью нормально ? Как я заметил, проблема возникает из за пробела,перед '-j' . Я конечно могу и ошибаться. Если что, у меня дедик сервер и могу делать что угодно.Debian 7 lenny с панелью Plesk. Всевозможные задачи в крон работают,кроме этого скрипта. Я сразу приобрел 6 лицензий,а вот толку от этого к сожалению пока нет...Надеюсь на вашу помощь :)

Re: Cron

UNREAD_POSTДобавлено: 13.08.2015 19:19:09
zapimir
С путями точно всё нормально? Пользователей Вы сами настраивали?
Странно еще, что выдается ошибка "can't cd to" Попробуйте выполнить к примеру
cd /var/www/vhosts/ или еще выше cd /var/www/
Для браузера это нормально, что выдается ошибка, так как там совсем другие пути к файлам и параметры командной строки нельзя указывать.

В принципе если можно запустить через curl, то можно сделать простой скрипт в каталог sxd/,
например cron7356.php (цифры желательно случайные, чтобы бот какой-то на бэкап не запускал)
Код: Выделить всё
<?php
$argv = explode(' ', 'index.php -j=neu2');
$argc = count($argv);
include('index.php');

После чего через curl вызвать адрес типа http://ваш-сайт/sxd/cron7356.php

Re: Cron

UNREAD_POSTДобавлено: 13.08.2015 20:21:47
paracord
огромное человеческое вам спасибо!!!! С этим вариантом все отлично работает.
Отвечая на ваши вопросы,пути все верные и пользователей сам настраивал.
Но самое интересное так и осталось неизвестным,в чем трабла? Чего то может не хватает? Я просто недели 2 назад сменил сервер на более новый,и возможно что то не установил,но так то все работает нормально.
Если вам так же интересно,как и мне,может доканаем этот крон и узнаем с вашей помощью,в чем собственно дело?
Если я могу вас отблагодарить через webmoney , я с удовольствием это сделаю. Или могу подарить одну из лицензий,если она вам нужна и если это не запрещено. Просто хочу вам приятное (в хорошем смысле ;)) сделать.

Re: Cron

UNREAD_POSTДобавлено: 14.08.2015 13:59:56
zapimir
Да, конечно нужно разобраться, попробуйте позапускать команду cd с разными путями через cron.
Какие cron задания запускаются успешно, какие там пути?
Да вы же и так сделали приятное купив лицензии :)