Работает в терминале, не работает в шедулере

Обсуждение ПО и его настройки
Ответить
Akina
Сообщения: 33
Зарегистрирован: 13 июл 2018, 07:46
Откуда: Зеленоград, Москва, Россия
Контактная информация:

Имеется скрипт, который в процессе работы создаёт файл, и затем перемещает его на SD-карту. Эту операцию выполняет процедура

Код: Выделить всё

local savefile do={
    local path "disk1/traffic/";
    /file print file=$1;
    delay 2;
    /file set $1 contents=$2;
    delay 2;
    /tool fetch address=127.0.0.1 port=21 mode=ftp user=ftpuser password=ftppassword src-path=("$1") dst-path=("$path$1");
    delay 2;
    /file remove $1;
}

# Пример вызова
$savefile "filename.txt" "File content.\r\n";
В качестве параметров скрипту передаются имя файла и его наполнение, тип параметров - строковый.

При запуске из терминала (Winbox - New terminal) код выполняется без проблем. При выполнении из планировщика скрипт обрывается по ошибке на строке запуска утилиты fetch. В логе отсутствуют записи о попытке (удачной или нет) логина к FTP (при запуске из терминала - запись имеется).

Аутентификация в Winbox выполняется от имени пользователя с полными (админскими) правами. Политики скрипта - ftp,read,write.
От имени этой учётной записи создаётся и задание планировщика, политики скрипта также ftp,read,write. Права учетной записи ftpuser, используемой fetch - local,ftp,read,write.

Что я не учитываю? Что необходимо, чтобы выполнялся запуск fetch?


Akina
Сообщения: 33
Зарегистрирован: 13 июл 2018, 07:46
Откуда: Зеленоград, Москва, Россия
Контактная информация:

В общем, метод научного тыка позволил выяснить, что для нормальной работы процедуры (точнее, для запуска утилит из раздела "Tools") задание планировщика должно в дополнение к указанным выше иметь ещё право (политику) test.


Ответить