Создать задание по расписанию
Oracle
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'NIGHTLY_MAINT',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN my_maintenance_proc; END;',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=DAILY; BYHOUR=3',
enabled => TRUE);
END;
/DBMS_SCHEDULER.CREATE_JOB определяет задание по расписанию; repeat_interval задаёт периодичность календарным выражением.
PostgreSQL
SELECT cron.schedule('nightly-vacuum', '0 3 * * *', 'VACUUM ANALYZE');
-- Requires the pg_cron extension. Alternative: pgAgent.Расширение pg_cron определяет задания в стандартном синтаксисе cron через cron.schedule; если расширение не установлено, используйте pgAgent или cron операционной системы.
MySQL
SET GLOBAL event_scheduler = ON;
CREATE EVENT nightly_cleanup
ON SCHEDULE EVERY 1 DAY STARTS '2026-01-01 03:00:00'
DO
DELETE FROM logs WHERE created_at < NOW() - INTERVAL 30 DAY;CREATE EVENT работает через event scheduler; глобальная переменная event_scheduler должна быть ON, иначе события не срабатывают.
SQL Server
USE msdb;
EXEC dbo.sp_add_job @job_name = N'NightlyMaint';
EXEC dbo.sp_add_jobstep @job_name = N'NightlyMaint', @step_name = N'Step1',
@subsystem = N'TSQL', @command = N'EXEC dbo.usp_Maintenance;';
EXEC dbo.sp_add_schedule @schedule_name = N'Daily3AM',
@freq_type = 4, @freq_interval = 1, @active_start_time = 030000;
EXEC dbo.sp_attach_schedule @job_name = N'NightlyMaint', @schedule_name = N'Daily3AM';
EXEC dbo.sp_add_jobserver @job_name = N'NightlyMaint';Задания SQL Server Agent создаются процедурами msdb: определяются задание, шаг и расписание и привязываются к серверу. Служба SQL Server Agent должна быть запущена.
MongoDB
# Not applicable: MongoDB has no built-in scheduler. Use external cron/systemd timers, an application scheduler or a MongoDB Atlas Scheduled Trigger.В редакции Community нет заданий по расписанию; нужен внешний планировщик или Atlas Trigger.
Redis
# Not applicable: Redis has no built-in job scheduler. Use EXPIRE/keyspace notifications for key expiry and external cron for periodic tasks.Redis не выполняет задания по расписанию; это решается через TTL/keyspace notifications и внешний cron.
Elasticsearch
PUT _slm/policy/daily-snapshot
{
"schedule": "0 30 1 * * ?",
"name": "<snap-{now/d}>",
"repository": "backup_repo",
"config": { "indices": ["*"] },
"retention": { "expire_after": "30d" }
}SLM (Snapshot Lifecycle Management) делает снимки по расписанию; ILM используется для жизненного цикла данных, а Watcher — для расширенной автоматизации.