Cron-выражение: каждые 12 часов

0 */12 * * * запускается каждые 12 часов. Ниже описано, что означает каждое поле, когда будет следующий запуск и как использовать выражение в crontab, GitHub Actions, Kubernetes и Node.js.

Обновлено

0 */12 * * *
Cron-выражение
Каждые 12 часов
Расписание

Открыть в генераторе cron-выражений →

Что означает 0 */12 * * *

Cron читает пять полей слева направо: минута, час, день месяца, месяц и день недели. Для каждых 12 часов они такие:

ПолеЗначениеСмыслДопустимо
Минута000–59
Час*/12каждые 12 часов0–23
День месяца*каждый день месяца1–31
Месяц*каждый месяц1–12
День недели*каждый день недели0–6 (вс–сб)

Следующие запуски

Рассчитывается в вашем браузере для вашего часового пояса. На сервере cron использует часовой пояс сервера (часто UTC).

  1. Включите JavaScript, чтобы увидеть время следующих запусков.

Типичные применения

  • Резервное копирование два раза в день
  • Обновление поисковых индексов

Полезно знать

Запуск в 00:00 и 12:00. Для 6 утра и 6 вечера пишите 0 6,18 * * *.

Использование в crontab, GitHub Actions, Kubernetes и Node.js

crontab (crontab -e):

0 */12 * * * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1

GitHub Actions (время в UTC):

on:
  schedule:
    - cron: '0 */12 * * *'

Kubernetes CronJob:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "0 */12 * * *"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: my-job
              image: alpine:3
              command: ["sh", "-c", "echo running"]

Node.js (node-cron):

import cron from 'node-cron';
cron.schedule('0 */12 * * *', () => {
  // your job
});

Похожие расписания

Часто задаваемые вопросы

Какое cron-выражение для каждых 12 часов?
0 */12 * * *. Запускается в 0 минут каждые 12 часов.
Какой часовой пояс использует cron?
Классический cron использует местное время сервера, а многие серверы работают в UTC. GitHub Actions всегда использует UTC. Kubernetes CronJob использует часовой пояс контроллера, если только не задан spec.timeZone (например, Europe/Berlin).
Как проверить cron-выражение?
Вставьте его в генератор cron-выражений, чтобы увидеть описание простым языком и время следующих запусков, а после первого запуска проверьте лог задачи.