synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяУправление Системой › Планировщик задач

Планировщик задач

SergeS · 01.05.2013

Всем привет!

 

Возникла необходимость запускать скриптик из планировщика задач чаще, чем раз в час. И тут меня ждал облом, что - неужели никак, без танцев с бубнами, в смысле - с cron и vi? А я так радовался, когда планировщику web-мордочку сделали в DSM, а оно оказывается вона как... Ну, я конечно понимаю, ресурсы, там всякие, бла-бла-бла... Ну могли бы все же предупреждение какое сделать, но что бы вот так тупо просто не дать возможность запускать чаще - это как то по... ну в общем - не по товарищески :-). Или я чего не понял?

polanat · 11.03.2015

А что мешает создать дубль и сместить по времени - с одним дублем будет периодичность в полчаса и тп и тд ...

ent · 11.03.2015

Ну можно использовать и родной cron.

Если всё же не охота копаться в /etc/crontab руками, можно поставить пакет cronjobs, эдакий gui для правки crontab.

SergeS · 12.03.2015
Ну можно использовать и родной cron.

Если всё же не охота копаться в /etc/crontab руками, можно поставить пакет cronjobs, эдакий gui для правки crontab.

 

Я когда-то давно этот cronjobs пробовал - не заработало. Может сейчас что-то поправили, не знаю...

Да в принципе и crontab руками подправить - не велика проблема, проблема в том, что при каком-то очередном апдейте эти подправления и слететь могут, а ты и знать об этом не будешь...

 

Иметь несколько одинаковых задач со смещением наверное все же надежнее, хотя тоже - костыль еще тот...

polanat · 12.03.2015

Cronjobs не работал в каком смысле? Интерфейс не подгружался или вводимые через него данные не сохранялись? Судя по всему- это пхп-файлик, для запуска которого достаточно запустить веб-стейшен

SergeS · 12.03.2015
Cronjobs не работал в каком смысле? Интерфейс не подгружался или вводимые через него данные не сохранялись? Судя по всему- это пхп-файлик, для запуска которого достаточно запустить веб-стейшен

 

не помню подробности, кажется показывал интерфейс но не сохранялся в кронтаб. Попробую еще раз завтра или на выходные.

п.с. нет, не достаточно - по дефолту пхп запрещено писать в файлы за пределами своей видимости. И кронтаб в эту видимость никак не попадает :-)

polanat · 12.03.2015

Надо тестировать. Может проще сразу crontab напрямую отредактировать безо всяких интерфейсов. Просто и со вкусом :rolleyes:

SergeS · 12.03.2015
Надо тестировать. Может проще сразу crontab напрямую отредактировать безо всяких интерфейсов. Просто и со вкусом :rolleyes:

 

Ну, в принципе - таки да, я вроде об этом и пытался сказать...

 

п.с. только что попробовал с работы установить CronJobs - вроде работает. И это точно не тот CronJobs, который я несколько лет назад пробовал, у того был другой интерфейс, этот интерфейс я вижу впервые.

polanat · 12.03.2015

Тогда если можно рабочий линк плз. Что ему ещё нужно для полного счастья - запуск веб-станции, и тп...

SergeS · 12.03.2015
Тогда если можно рабочий линк плз. Что ему ещё нужно для полного счастья - запуск веб-станции, и тп...

 

В смысле - "полный линк", линк на что?

идешь в пакеты, находишь там этот кронджобс, пытаешся установить, оно тебе говорит, что сначала нужно установить другой пакет, что-то типа 3PartyInit, находишь, устанавливаешь, балуешься...

polanat · 12.03.2015

Имел в виду линк на готовый SPK. Он же в пакеты не с неба прилетит

SergeS · 12.03.2015
Имел в виду линк на готовый SPK. Он же в пакеты не с неба прилетит

 

Не понимаю, о чем ты, конечно не с неба - в списке стандартных пакетов Цинолоджи он есть. Там наверное можно и ссылку и другую информацию найти, я не смотрел.

polanat · 12.03.2015

Значит не замечал в стандартных-спасибо за подсказку

 

UPD Облом - нету в стандартных - вот полный список -> All Apps

SergeS · 12.03.2015
Значит не замечал в стандартных-спасибо за подсказку

 

Смотри в последней категории, в community. Иконка с часами :-)

polanat · 12.03.2015
Смотри в последней категории, в community.

Ком'юнитей много. В SynoCommunity тоже нету - вот полный список -> SynoCommunity Packages

SergeS · 12.03.2015
Ком'юнитей много. В SynoCommunity тоже нету - вот полный список -> SynoCommunity Packages

 

Ok, так найдешь?

http://sergeskor.no-ip.org/Files/Tech/CronJob-editor.PNG

polanat · 12.03.2015

Да уж - лёгких путей мы не ищем. Быстрее SPK Гуглом отыскать -> https://www.cphub.net/?id=40&pid=328

SergeS · 12.03.2015
Да уж - лёгких путей мы не ищем. Быстрее SPK Гуглом отыскать -> https://www.cphub.net/?id=40&pid=328

 

это ты не ищещь, у меня он уже много лет как виден, в списке, глаза измозолил :-)

Добавь Package Sources, хотя бы как у меня на картинке - будет тебе счастье...

polanat · 12.03.2015
это ты не ищещь, у меня он уже много лет как виден, в списке, глаза измозолил :-)

Добавь Package Sources, хотя бы как у меня на картинке - будет тебе счастье...

Добавлю, если текстом выложишь а не картинкой :rolleyes:

SergeS · 12.03.2015
Добавлю, если текстом выложишь а не картинкой :rolleyes:

 

http://synopkg.superzebulon.org/spkrepo/packages

http://packages.synocommunity.com

http://packages.missilehugger.com

http://update.10trum.de/packageupdate/getpackages.php

http://pvr.unzureichende.info/synology

http://packages.pcloadletter.co.uk

http://cbo.netau.net/synopackages/

 

Надеюсь теперь то уж я тебя удовлетворил и ты доволен?

:-))

polanat · 12.03.2015

Теперь - ДА! СПАСИБО!!

 

PS 1-й и 3-й репо кажись уже неживые ...

polanat · 13.03.2015

Cronjob editor установил с целью теста запуска раз в полчаса. Отредактировал уже готовое задание в планировщике, изменил запуск на 1-ю и 31-ю минуты при остальных звёздочках - с лёту не запускается. Надо понять синтаксис кронтаба - ему минуты через запятую подсовывать "1,31 * * * *" или со смещением "1-59/30 * * * *" или так "*/30 * * * *" ??? Короче нафиг все эти утилиты - текстовый редактор видими самое то ;) Вечером дальше поковыряю.

 

UPD Cronjob editor похоже работает только с собственными командами/скриптами, вводимыми в поле "Command" (через кнопку "Set new job")

ent · 14.03.2015

Я пользую пакет попроще cronjobs.

Он не такой монструозный нежели cronjob editor.

Accelerator · 14.03.2015
или так "*/30 * * * *"

Именно так.

По крайней мере если захотите это сделать через текстовый редактор.

SergeS · 14.03.2015
Я пользую пакет попроще cronjobs.

Он не такой монструозный нежели cronjob editor.

 

О, точно, вспомнил - вот именно этот я и пытался пару лет назад попользовать, он у меня даже в архиве нашелся. Сейчас попробовал еще раз - то же самое, что и раньше было, вместо своего скринчика он у меня почему-то показывает текст самого пхп-скрипта, вот скриншот: http://sergeskor.no-ip.org/Files/Tech/DSM-cronjobs.png

 

Помню, что раньше после нескольких не очень настойчивых попыток его таки запустить я обломался и отделался редактированием кронтаб-файла руками... А вот сейчас этот новый (ну, относительно конечно) cronjob-editor появился, я уже подзабыл и решил, что этот тот же самый.

 

з.ы. Кстати, почему он таки не запускается - так и не понятно. В центре пакетв пишет что статус stopped и запустить его не получается...

ent · 15.03.2015

Скорее всего вам должна помочь установка пакета Init_3rdparty.

Вот как у меня это выглядит:

http://images.netbynet.ru/thumbs/a3f392e30e3b998dfa5a3d9a8c63490c.png

polanat · 15.03.2015
Скорее всего вам должна помочь установка пакета Init_3rdparty.

Вот как у меня это выглядит:

Именно так! У меня тоже запустился. Без Init_3rdparty тоже можно запустить поизвращавшись из браузера, но зачем плодить лишние телодвижения. Crontab editor интерфейс заточен под домохозяек что-ли, да простят меня оные ;) Там сложно сделать что-то не так. С cronjobs надо обладать первичными знаниями (синтаксис кронтаба).

 

Кстати, никто не пробовал редактировать через редакторы кронтаба уже готовые задания из сино-планировщика типа

 

1,31 * * * * root /tmp/synoschedtask --run id=4 - у меня что-то не пошло :(

 

5,35 * * * * root synoindex -R /volume1/video/AVI - а вот свои собственные запускает на ура:

SergeS · 15.03.2015
Скорее всего вам должна помочь установка пакета Init_3rdparty.

Вот как у меня это выглядит:

http://images.netbynet.ru/thumbs/a3f392e30e3b998dfa5a3d9a8c63490c.png

 

Нифига.

polanat · 15.03.2015
Нифига.

Странно. По идее SPK универсальный, но на всякий случай и у мненя и у ent - один и тот же проц Marvell 88F6282

 

PS А если так -> http(s)://IP:port/webman/3rdparty/cronjobs/cronjobs.php

SergeS · 15.03.2015
Странно. По идее SPK универсальный, но на всякий случай и у мненя и у ent - один и тот же проц Marvell 88F6282

 

PS А если так -> http(s)://IP:port/webman/3rdparty/cronjobs/cronjobs.php

 

Точно так же выдается текст самого пхп, только теперь не в DSM, а в браузере :-)

Да, ладно, хрен с ним, не так уж оно и нужно, тем более что вот тот "монстроузный" есть, да и руки еще пока не отсохли ими воспользоватся.

 

p.s. Процессор... Это не совсем однозначный вопрос, я не на настоящих Synology (на двух) пробовал.. Сама DSМ говорит что Intel Core i3-41430, естественно, а что уж там на самом деле стоит - я и не помню...

Пару лет назад, когда пробовал раньше, то пробовал на DS410, но с тех пор версия как минимум Init 3d Party поменялась точно, сейчас версия 1.7, а тогда - 1.5 (я ее в архиве у себя нашел).

В принципе и сейчас могу на DS410 попробовать с версией 1.7, но это если кому-то надо для информации, мне нафиг не надо :-)

 

p.s.#2 Вот тому 'монстроуозному' - тоже Init 3d Party нужен, но он об этом честно предупреждает. И этот Init 3d Party - имеет статус running, а cronjobs - stopped и не запускается..

polanat · 15.03.2015
И этот Init 3d Party - имеет статус running, а cronjobs - stopped и не запускается..

Не вижу ничего необычного. Midnight Commander - тоже в постоянном статусе "Остановлено". А вот что касается cronjobs.spk - надо понять где его первоисточник (немцы?) и уже там читать детали ...

SergeS · 15.03.2015
Не вижу ничего необычного. Midnight Commander - тоже в постоянном статусе "Остановлено". А вот что касается cronjobs.spk - надо понять где его первоисточник (немцы?) и уже там читать детали ...

 

Что бы понять - обычно это или не обычно, нужно сначала выяснить каков статус пакета cronjobs у тех, у кого он работает. Ты бы лучше вот это посмотрел бы, а не статус МидНайт Командера, при чем тут он...

polanat · 15.03.2015
Что бы понять - обычно это или не обычно, нужно сначала выяснить каков статус пакета cronjobs у тех, у кого он работает. Ты бы лучше вот это посмотрел бы, а не статус МидНайт Командера, при чем тут он...

Всё просто - не демон это, не демон ))

SergeS · 15.03.2015
Всё просто - не демон это, не демон ))

 

А без выстебонов никак нельзя просто сказать, какой статус? Все же и так знают, что мы умные, не так ли? Вон у кронджобс эдитора (который монстроуозный) - статус "running", а он тоже вроде на демона не похож...

polanat · 15.03.2015

"Остановлено"

ent · 15.03.2015

"cronjobs" - остановлено, "Midnight Commander" - остановлено, это понятно, однако "Cronjobs Editor" и "phpMyAdmin" - выполняется, хотя это чистые пхп скрипты. Загадка.

SergeS · 15.03.2015
"cronjobs" - остановлено, "Midnight Commander" - остановлено, это понятно, однако "Cronjobs Editor" и "phpMyAdmin" - выполняется, хотя это чистые пхп скрипты. Загадка.

 

Спасибо. Действительно - тайна покрытая мраком ;-).

Наверное просто в пхпМайАдмин и Кронджобс эдиторе предприняты определенные меры для реакции на старт/стоп из центра пакетов, пусть даже и реально не влияющие на работоспособность самого пакета, а в кронджобс и миднайт командер - интерфейс взаимодействия просто не полностью реализован.

polanat · 15.03.2015

А если Вам cronjobs.php в папку web закинуть и запустить из браузера?

SergeS · 15.03.2015
А если Вам cronjobs.php в папку web закинуть и запустить из браузера?

 

Так запускается и что-то там показывает. Это и раньше так было.

SergeS · 15.03.2015
Так запускается и что-то там показывает. Это и раньше так было.

 

Еще только что заметил, что на моем основном насе cronjobs (будучи запущенным вот так вот через папку web) подглюкивает немного парсинг кронтаб файла - первая задача попадает в заголовки колонок, (картинки). На тестовом насе такого глюка нет, я привел картинки для обоих. Подозреваю, что это из-за того, что на основном насе у меня больше задач прописано, больше не могу представить из-за чего это. Страшновато как-то из-за такого глюка перезаписывать кронтаб файл, можно его и порушить...

 

У CronJobs Editor - такого глюка нет.

polanat · 15.03.2015
У CronJobs Editor - такого глюка нет.

Ну так пусть и остаётся CronJobs Editor уж коль он прекрасно работает. В нём нельзя ввести "*/30 * * * *", так это можно обыграть так "1,31 * * * *"

SergeS · 15.03.2015
Ну так пусть и остаётся CronJobs Editor уж коль он прекрасно работает. В нём нельзя ввести "*/30 * * * *", так это можно обыграть так "1,31 * * * *"

 

Да, спасибо, пусть остается.

Даже и не знаю, что бы я без тебя бы делал...

polanat · 16.03.2015
Именно так - "*/30 * * * *".

По крайней мере если захотите это сделать через текстовый редактор.

Попробовал через WinSCP-редактор стандартную комбинацию "1,31 * * * *" - действительно не прокатило. Странно...

Accelerator · 16.03.2015

Ну вообще должно и с запятой работать, но я не пробовал.

Службу cron перезапускали перед проверкой?

 

P.S. Народ пишет, что перезапускать не надо, дескать оно само раз в минуту перечитывает crontab.

Однако в службах cron вроде как предусмотрен останов, запуск и перезапуск из командной строки.

Реализовано ли это у синолоджи не понятно, так как на команду /usr/sbin/cond а далее на выбор stop/start/restart ошибок не сыпется, но и сообщения, что всё хорошо тоже нет.

polanat · 16.03.2015
Ну вообще должно и с запятой работать, но я не пробовал.

Службу cron перезапускали перед проверкой?

 

P.S. Народ пишет, что перезапускать не надо, дескать оно само раз в минуту перечитывает crontab.

Однако в службах cron вроде как предусмотрен останов, запуск и перезапуск из командной строки.

Реализовано ли это у синолоджи не понятно, так как на команду /usr/sbin/cond а далее на выбор stop/start/restart ошибок не сыпется, но и сообщения, что всё хорошо тоже нет.

Нет, не перезапускал. Точно так же исходил из логики, что crontab перечитывается раз в минуту. Тем более когда редактировал WinSCP-редактором. чётко было видно, что редактирование прошло не сразу - задание на редактирование было поставлено в очередь, и редактирование произошло с задержкой в пределах полуминутного интервала. Не исключено, что другие "простые" редакторы могут и не прокатить. Ребутнул - проверю ещё раз ...

 

PS В идеале хочу остановиться на WinSCP и снести все эти Cronjob Editor и cronjobs, если прокатит ...

ent · 16.03.2015

Сдаётся мне, что выкладывание cronjobs.php в папку web ни к чему не приведёт. Сохранить изменения и рестартовать cron не хватит прав. Php из под апача работает от юзера http, у которого прав ну совсем чуток есть. Ну максимум может удастся прочитать /etc/crontab, но не сохранить.

polanat · 16.03.2015
Сдаётся мне, что выкладывание cronjobs.php в папку web ни к чему не приведёт. Сохранить изменения и рестартовать cron не хватит прав. Php из под апача работает от юзера http, у которого прав ну совсем чуток есть. Ну максимум может удастся прочитать /etc/crontab, но не сохранить.

Абсолютно здравое предположение. Именно так всё и будет ;) Но ведь у автора изначально пхп-файлик не исполнялся, а открывался в режиме просмотра содержимого. Если он поборет эту проблему, то с пакетом "Init 3rdparty" crjnjobs у него будет функционировать. Ну это конечно если ещё остались силы :rolleyes:

ent · 16.03.2015
Абсолютно здравое предположение. Именно так всё и будет ;) Но ведь у автора изначально пхп-файлик не исполнялся, а открывался в режиме просмотра содержимого. Если он поборет эту проблему, то с пакетом "Init 3rdparty" crjnjobs у него будет функционировать. Ну это конечно если ещё остались силы :rolleyes:

Init 3rdparty собственно и задумывался дабы разрешить запуск "левых" пхп скриптов в контексте самой админки.

polanat · 16.03.2015
Init 3rdparty собственно и задумывался дабы разрешить запуск "левых" пхп скриптов в контексте самой админки.

Способ номер 2 - запуск не из админки -> http(s)://IP:port/webman/3rdparty/cronjobs/cronjobs.php

 

Но у автора он тоже не катит. Скорее всего у него какие-то проблемы имненно на "веб-уровне", а не в смысле типа процессора, "хрено-железа" и тп ...

 

ent · 16.03.2015
Способ номер 2 - запуск не из админки -> http(s)://IP:port/webman/3rdparty/cronjobs/cronjobs.php

 

Но у автора он тоже не катит. Скорее всего у него какие-то проблемы имненно на "веб-уровне", а не в смысле типа процессора, "хрено-железа" и тп ...

У меня второй способ прокатил на 5000 порту.

 

Да, вспомнил, что после установки Init 3rdparty в основном меню появляются два ярлыка, один - SYS PHP Info. При клике на него, открывается окно с информацией о PHP. Эдакий тест на правильность установки.

 

SergeS · 16.03.2015
Да, вспомнил, что после установки Init 3rdparty в основном меню появляются два ярлыка, один - SYS PHP Info. При клике на него, открывается окно с информацией о PHP. Эдакий тест на правильность установки.

 

Да, с этим все нормально ;-)

PsyDeX · 06.04.2015

Как-то слишком криво для Synology реализована такая простая фича как редактор крон задач. просто из рук вон плохо, добавили бы в вебсервисы закладку с редактором и проблем не было.

 

кстати, всё таки в тему, под запуск PHP скриптов по расписанию планировщик задач никак не прикрутить?

 

Вопрос не в том чтобы поставить 3rdParty пакеты, и не в том чтобы в Shell где-то копаться, искать пути которые могли перенести, а в том чтобы из интерфейса, так-же как настройки других стандартных пакетов, подредактировать расписание регулярных Php задач.

polanat · 06.04.2015
Как-то слишком криво для Synology реализована такая простая фича как редактор крон задач. просто из рук вон плохо, добавили бы в вебсервисы закладку с редактором и проблем не было.

 

кстати, всё таки в тему, под запуск PHP скриптов по расписанию планировщик задач никак не прикрутить?

 

Вопрос не в том чтобы поставить 3rdParty пакеты, и не в том чтобы в Shell где-то копаться, искать пути которые могли перенести, а в том чтобы из интерфейса, так-же как настройки других стандартных пакетов, подредактировать расписание регулярных Php задач.

Если Вы про редактирование уже поставленной задачи на крон через стандартный планировщик, то да согласен - криво. Но ведь в этой ветке привели ещё два альтернативных способа через веб - чем они для Вас плохи?

 

PS А есть ещё и WinSCP редактор, но я пока не имел его в виду ;)

SergeS · 06.04.2015
Как-то слишком криво для Synology реализована такая простая фича как редактор крон задач. просто из рук вон плохо, добавили бы в вебсервисы закладку с редактором и проблем не было.

 

кстати, всё таки в тему, под запуск PHP скриптов по расписанию планировщик задач никак не прикрутить?

 

Вопрос не в том чтобы поставить 3rdParty пакеты, и не в том чтобы в Shell где-то копаться, искать пути которые могли перенести, а в том чтобы из интерфейса, так-же как настройки других стандартных пакетов, подредактировать расписание регулярных Php задач.

 

А в чем проблема? Рхр скрипты совершенно нормально запускаются из командной строки, вообще-то. Я так регулярно запускаю именно пхп...

Siroc-co · 07.04.2015

CronJobs Editor у меня в свое время не заработал. Но помогло это:

http://i11.pixs.ru/storage/8/3/4/crtPNG_5258914_16832834.png

 

Не помню что за репозиторий, но где-то оно есть.

polanat · 07.04.2015
CronJobs Editor у меня в свое время не заработал. Но помогло это...

Так "это" правит задачу, уже поставленную на крон через стандартный планировщик, или нет?

ent · 07.04.2015
Так "это" правит задачу, уже поставленную на крон через стандартный планировщик, или нет?
Задачи стандартного планировщика в ctontab выглядят так:

50 6 * * 1,3,5 root /tmp/synoschedtask --run id=1

0 2 * * 1 root /tmp/synoschedtask --run id=3

0 0 * * * root /tmp/synoschedtask --run id=4

0 0 * * 2 root /tmp/synoschedtask --run id=5

И тут поправить можно только интервалы запуска, но ещё надо с ID не ошибиться.

 

"Config file editor" конечно поможет подправить содержимое crontab, но как рестартовать сам cron для "применения" изменений? Нет тут такой кнопки.

polanat · 07.04.2015
Задачи стандартного планировщика в ctontab выглядят так:

50 6 * * 1,3,5 root /tmp/synoschedtask --run id=1

0 2 * * 1 root /tmp/synoschedtask --run id=3

0 0 * * * root /tmp/synoschedtask --run id=4

0 0 * * 2 root /tmp/synoschedtask --run id=5

Да, именно так - о чём и речь - есть определённые неудобства

 

И тут поправить можно только интервалы запуска, но ещё надо с ID не ошибиться.

Пробовал и так - вроде как не прокатывало.

 

Решение конечно простое - скопипастить команду из того же планировщика и целиком и полностью использовать или "cronjobs" или "Cronjob Editor". Но тогда планировщик ради команд и не нужен. Супротив этого надо запустить Init 3rdparty

Siroc-co · 07.04.2015

У меня ненужно ничего рестартить. Сделанное изменение работает само и сразу. Но если уж Вам прям так вот нужно рестартануть, никто не мешает сделать какое\либо изменение в стандартном планировщике, он в этих случаях рестартится. У меня вообще такое ощущение, что он постоянно мониторит файл, а не только после рестарта.