Как настроить крону, которая запускается каждые 25 часов?Cronjob каждые 25 часов?
ответ
Только предположение, но вы не
Лучший хак с верхней части моей головы: написать скрипт для отслеживания в последний раз он был запущен, и условно запустить его, если это было больше, чем 25 несколько часов назад.
Cron, чтобы сценарий драйвера запускался каждый час.
Было бы проще выдать команду at
, определяющую время и дату следующего задания при запуске текущего, но вы могли бы имитировать это с помощью cronjob, обновив запись cronjob для процесса в начале текущего (не в конце), тогда вам нужно будет учитывать время выполнения задания).
Уловка 'at' может выйти из строя, если вы пропустите одно задание, например, если система не работает, когда она запланирована. –
Вы можете использовать команды «sleep» или «watch» для запуска сценария в цикле. Просто убедитесь, что вы выполняете скрипт.
Настройка почасовой работы и проверить в сценарии, если 25 часов в прошлое с этим snipnet:
if [ $((((`date +%s` - (`date +%s` % 3600))/3600) % 25)) -eq 0 ] ; then
your script
fi
Дополнительные комментарии были бы оценены. Этот код генерирует временную метку (секунды с эпохи), преобразует ее в часы и проверяет по модулю 25 (следовательно, каждые 25 часов). При необходимости изменить «-eq 0» на «-eq 10», чтобы изменить час в определенный день ... – darkless
Я думаю, вы должны попробовать это
0 */25 * * * ...
Вы не можете установить часовую частоту более 23 – erdomester
24, похоже, работает в Debian. –
Вы можете достичь любой частоты, если считать часы (, минуты, дни или недели) с Epoch, добавьте условие в начало вашего скрипта и установите сценарий для запуска каждый час на вашем кронтабе:
#!/bin/bash
hoursSinceEpoch=$(($(date +'%s/60/60')))
# every 25 hours
if [[ $(($hoursSinceEpoch % 25)) -ne 0 ]]; then
exit 0
fi
date(1)
возвращает текущую дату, мы отформатировать его в секундах с начала эпохи (%s
), а затем мы делаем основные математику:
# .---------------------- bash command substitution
# |.--------------------- bash arithmetic expansion
# || .------------------- bash command substitution
# || | .---------------- date command
# || | | .------------ FORMAT argument
# || | | | .----- formula to calculate minutes/hours/days/etc is included into the format string passed to date command
# || | | | |
# ** * * * *
$(($(date +'%s/60')))
# * * ---------------
# | | |
# | | ·----------- date should result in something like "1438390397/60"
# | ·-------------------- it gets evaluated as an expression. (the maths)
# ·---------------------- and we can store it
И вы можете использовать этот подход с ежеминутно, ежечасно, ежедневно или ежемесячно хрон рабочих мест:
#!/bin/bash
# We can get the
minutes=$(($(date +'%s/60')))
hours=$(($(date +'%s/60/60')))
days=$(($(date +'%s/60/60/24')))
weeks=$(($(date +'%s/60/60/24/7')))
# or even
moons=$(($(date +'%s/60/60/24/656')))
# passed since Epoch and define a frequency
# let's say, every 13 days
if [[ $(($days % 13)) -ne 0 ]]; then
exit 0
fi
# and your actual script starts here
- 1. CronJob - scheduale задание запускать каждые 12 часов, начиная сразу
- 2. Cronjob каждые x часов между 23-16 не работает
- 3. Cronjob каждые x минуты от 9 до 23 часов
- 4. Cronjob каждые 24 минуты
- 5. cronjob, который отступает во время внепиковых часов
- 6. Как запустить работу cron каждые несколько часов каждые несколько минут
- 7. jQuery CountDown Каждые 6 часов
- 8. PHP set cronjob за каждые 1 минуту
- 9. Cronjob для запуска каждые 30 минут
- 10. Как запустить cronjob каждые X минут?
- 11. Почему 25 часов в день? РНР/Дата
- 12. Как нарисовать линию каждые 25 слов?
- 13. Установите cronjob для запуска каждые 31 минуту между определенными часами?
- 14. (Исправлено) Запуск php-скрипта x часов после взаимодействия (cronjob)
- 15. Как выполнить действие каждые 12 часов?
- 16. OpenShift ежечасно закрывается CRON каждые 12 часов
- 17. Как запустить работу узла-cron каждые 12 часов?
- 18. ShellScript для Killing and Starting Program каждые 5 часов
- 19. Обновление таблицы Google каждые п часов
- 20. Rails порядок запроса на каждые 6 часов
- 21. Как запустить crontab за каждые 36 часов
- 22. Сброс использования памяти Centos каждые несколько часов
- 23. Показать два изображения каждые X часов, Javascript
- 24. Rails опрос RSS каждые 6 часов
- 25. как сделать прерывание каждые 6 часов
- 26. WCF service, запускать задачу каждые X часов
- 27. Запускать javascript один раз каждые 12 часов
- 28. Почему журнал Azure отключается каждые 12 часов?
- 29. MySQL перестает работать каждые пять-шесть часов
- 30. Android - разблокировать кнопку каждые X часов
Что это за цель? Почему 24 часа неприемлемы? –
См. Также: http://stackoverflow.com/questions/745901/how-to-do-a-cron-job-every-72-minutes – mob
Пришел от Google с использованием законного варианта использования, чтобы избежать превышения ежедневный лимит API для периодического задания, которое не особенно чувствительно к времени. Добавление дополнительного часа, чтобы быть консервативным и избегать ошибок на летнем свете. – mahemoff