Как выстроить повторения упоминания (1 день, 3 дня, неделя) без указанной конечной даты?
Первый и самый простой вариант - заполнить базу значениями на 100 лет вперед, например. Я думаю, это решение абсолютно избыточно. + нужно в календаре мониторить эти упоминания, т.е., перейдя на этот же день следующего года, например, я должен увидеть оставленное мною упоминание.
RomanGorbatko:
Берем начальную дату, делим на период - получаем число.
Каждый период времени(каждый час/минуту/етс) берем текущую дату и делим на период - если число совпало с тем, что мы получили вначале - значит прошел еще 1 целый период и надо рисовать напоминание.
tar -czvf test /test`date +%Y.tar.gz
на выходе получаешь файл
test5.tar.gz
число соответствует от 1 до 7 взависимости от дня недели
соответственно все что тебе нужно сделать запустить в кроне
00 00 * * * nice -19 test >/dev/null 2 >> /var/log/ispconfig/cron.log
ну и в самом скрипте делай проверку если data= 1 или 5 то запускаеш все че в нем есть.
если нет то выход.
ShamblerR: Собственно, так и делал. Но вариант с кроном тоже считаю слишком избыточным.
Думал, вы хотите предложить вариант SLQ запроса, который сможет проверять, находится ли конкретная дата в интервале, примерно, 3-х дней от начальной даты. Этот вариант был бы самым лучшим, думаю.
Т.е., не обязательно записывать и следить над упоминаниниями каждые(!) 3 дня, достаточно убедится, является ли выбранный в календаре день третим, в интервале от начального.