Панель керування хостингом. cron & CSVI

egorkalm
6 років
0

Доброго времени суток!
Столкнулся с такой проблемой: на сайте установлена Joomla В связке с Virtuemart + CSVI. Возникла необходимость грузить файл через CSVI по расписанию. Компонент дает такую строку для записи в cron:
"/home/аккаунт/домен/www/administrator/components/com_csvi/helpers/cron.php" username="логин" passwd="пароль" template_id="10" jform:general:source="fromserver" jform:general:local_csv_file="/home/аккаунт/домен/www/папка/имя_файла.csv"
При этом пришлось создавать нового пользователя. поскольку обнаружилось ограничение на количество символов в строке (длинный пароль просто обрезался), но с этим еще можно как-то смириться.
После выполнения на почту приходит письмо с уведомлением:
nice: /home/аккаунт/домен/www/administrator/components/com_csvi/helpers/cron.php: Permission denied
Кто сталкивался, подскажите, как правильно настроить запуск, заранее премного благодарен!

JSemikov
6 років
0

1. Вы пишете, что создали нового пользователя. Речь о новом хостинг-аккаунте, пользователе сайта или о чем-то другом?
2. Скриншот или полную строку, добавленную в в cron покажите, прояснит ситуацию это.

rudenko
6 років
0

Вариантов решения несколько:
1. Файлу /home/аккаунт/домен/www/administrator/components/com_csvi/helpers/cron.php нужно дать исполняемый бит для пользователя rwxrwx--- , а так же добавить в начале файла путь к интерпретатору

#!/usr/local/bin/php

или любой интерпретатор, который можно найти в списке интерпретаторов на странице добавления cron задачи.
2. или добавить в начале вызова путь к интерпретатору:

3. Для еще большего сокращения длинны строки вместо /home/аккаунт/ можете использовать ~аккаунт/

pashtet7
3 року
0

Не вмещается строка с командой в поле cron, можно увеличить число возможных знаков?

alexandrpaliy
3 року
2

Не вмещается строка с командой в поле cron, можно увеличить число возможных знаков? © pashtet7

Техническая возможность, скорее всего, присутствует (это только разработчики скажут).

Но целесообразность - как по мне, весьма сомнительна.
Если Вам нужно выполнять по крону длинную команду - положите её в какой-нибудь shell- (.sh , .bash) или PHP-скрипт, и запускайте по крону его.
Это часто удобнее даже для тех команд, которые помещаются в поле ввода на панели управления - в скрипте можно всякие переменные позадавать и т.д.

upd:
какой-нибудь shell- (.sh , .bash) © alexandrpaliy

Это я вчера, конечно, на ночь глядя глупость сказал :)
И sh, и bash-скрипт - это всегда файл *.sh

rudenko
3 року
2

И sh, и bash-скрипт - это всегда файл *.sh © alexandrpaliy

В linux раширение файлов не имеет никакого значения, главное поставить на него права доступа eXecute:
chmod ug+x ./filename

и прописать в нем путь к интерпретатору в первой строке:
#!/bin/bash

Тема закрита.