Со временем еще вариант, взять блок сжатие 60 минут, от него минимум.

В остальном логика в скрипте правильная.