Я создал скрипт на python для выполнения FTP-передач, который будет запускаться в crontab каждую минуту.Сценарий запрашивает базу данных mysql и переводит язык cron с библиотекой croniter.Если текущая дата и время совпадают с запрограммированной датой, будет выполнена транзакция ftp.
Кажется, что она работает правильно, за исключением случаев, когда в cron заданы минуты и часы в звездочках.С датой, похоже, проблем нет.
Функция crontotime получает в переменной «programmed» время и дату, запрограммированные на языке cron: «* * * * *» или «05 17 * * *"и переводит его на дату и время.
https://crontab.guru/ за помощь
Спасибо.
def crontotime(self,programada):
crontask = croniter.croniter(programada)
nextcrontask = crontask.get_next(datetime.datetime).strftime("%Y-%m-%d %H:%M")
return nextcrontask
Результаты: Если нет определенных минут и часовпоявляется ошибка
========================================================
Now: 2019-03-25 16:56
Scheluded: #* 16 * * *# 2019-03-25 16:00
========================================================
Now: 2019-03-25 16:56
Scheluded: #56 16 * * *# 2019-03-25 16:56
========================================================
Now: 2019-03-25 17:05
Scheluded #* * * * *# 2019-03-25 16:06 ERROR
========================================================
Now: 2019-03-25 17:05
Scheluded: #05 17 * * *# 2019-03-25 17:05
========================================================