[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/cron-jobs":3,"mdc--8zomj-key":497,"mdc--pr7tw9-key":528,"mdc-k40l6b-key":551,"mdc--kjbyxj-key":567,"mdc-kclpu1-key":589,"mdc--jihnef-key":606,"mdc--n6enqh-key":622,"mdc--70xpkm-key":645,"related-/guides/linux/crontab,/guides/linux/systemd-timers,/errors/linux/cron-error":669},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":434,"code":434,"createdAt":435,"description":436,"difficulty":437,"draft":438,"estimatedTime":439,"extension":440,"faq":441,"howToSteps":454,"howToTotalTime":467,"image":434,"keywords":468,"locale":478,"meta":479,"navigation":276,"path":480,"platform":481,"related":482,"section":486,"seo":487,"severity":434,"stem":488,"summary":489,"tags":490,"twitterCreator":434,"twitterSite":434,"type":495,"updatedAt":435,"__hash__":496},"content_ru/guides/linux/cron-jobs.md","Полный гайд по настройке и использованию cron-заданий в Linux",[7,8,9,10],"Ubuntu 22.04","Debian 12","Fedora 36","CentOS 8","FixPedia Team",{"type":13,"value":14,"toc":422},"minimark",[15,20,24,28,44,48,53,65,105,119,123,130,144,151,159,162,165,169,176,183,198,201,207,214,243,246,250,253,296,299,320,323,327,359,363,415,418],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Cron — это планировщик задач в Linux, который позволяет автоматически выполнять скрипты или команды в заданное время. С его помощью можно проводить обновления, резервное копирование, очистку логов и многие другие рутинные операции без вмешательства пользователя. После выполнения этого гайда вы сможете настроить как пользовательские, так и системные cron-задания и диагностировать типичные ошибки.",[16,25,27],{"id":26},"требования-подготовка","Требования / Подготовка",[29,30,31,35,38,41],"ul",{},[32,33,34],"li",{},"Доступ к терминалу с правами администратора (sudo).",[32,36,37],{},"Система на базе Linux (поддерживаются Ubuntu 22.04, Debian 12, Fedora 36, CentOS 8).",[32,39,40],{},"Базовые знания синтаксиса командной строки и работы с текстовым редактором.",[32,42,43],{},"Необязательно: скрипты, которые вы хотите запланировать (они должны быть исполняемыми).",[16,45,47],{"id":46},"пошаговая-инструкция","Пошаговая инструкция",[49,50,52],"h3",{"id":51},"шаг-1-включить-службу-cron-и-проверить-её-статус","Шаг 1: Включить службу cron и проверить её статус",[21,54,55,56,60,61,64],{},"Сначала убедитесь, что демон cron работает. В большинстве дистрибутивов служба называется ",[57,58,59],"code",{},"cron"," (или ",[57,62,63],{},"crond"," в некоторых случаях).",[66,67,72],"pre",{"className":68,"code":69,"language":70,"meta":71,"style":71},"language-bash shiki shiki-themes github-light github-dark","sudo systemctl enable cron\nsudo systemctl status cron\n","bash","",[57,73,74,93],{"__ignoreMap":71},[75,76,79,83,87,90],"span",{"class":77,"line":78},"line",1,[75,80,82],{"class":81},"sScJk","sudo",[75,84,86],{"class":85},"sZZnC"," systemctl",[75,88,89],{"class":85}," enable",[75,91,92],{"class":85}," cron\n",[75,94,96,98,100,103],{"class":77,"line":95},2,[75,97,82],{"class":81},[75,99,86],{"class":85},[75,101,102],{"class":85}," status",[75,104,92],{"class":85},[106,107,108],"blockquote",{},[21,109,110,114,115,118],{},[111,112,113],"strong",{},"💡 Совет:"," Если служба уже активна, команда ",[57,116,117],{},"status"," просто выведет информацию о работающем процессе.",[49,120,122],{"id":121},"шаг-2-создать-или-отредактировать-пользовательский-crontab","Шаг 2: Создать или отредактировать пользовательский crontab",[21,124,125,126,129],{},"Пользовательский crontab содержит задания, принадлежащие конкретному пользователю. Он редактируется с помощью команды ",[57,127,128],{},"crontab -e",".",[66,131,133],{"className":68,"code":132,"language":70,"meta":71,"style":71},"crontab -e\n",[57,134,135],{"__ignoreMap":71},[75,136,137,140],{"class":77,"line":78},[75,138,139],{"class":81},"crontab",[75,141,143],{"class":142},"sj4cs"," -e\n",[21,145,146,147,150],{},"Выберите редактор (обычно vi или nano). Добавьте задание, например, чтобы запускать скрипт ",[57,148,149],{},"/home/user/backup.sh"," каждый день в 02:00 ночи:",[66,152,157],{"className":153,"code":155,"language":156},[154],"language-text","0 2 * * * /home/user/backup.sh\n","text",[57,158,155],{"__ignoreMap":71},[21,160,161],{},"Сохраните файл и выйдите. После сохранения crontab становится активным.",[163,164],"in-article-ad",{},[49,166,168],{"id":167},"шаг-3-добавить-системное-cron-задание-если-необходимо","Шаг 3: Добавить системное cron-задание (если необходимо)",[21,170,171,172,175],{},"Системные задания размещаются в каталоге ",[57,173,174],{},"/etc/cron.d/",". Они применяются ко всем пользователям и могут использоваться для глобальных задач, таких как ежедневное обновление пакетов.",[21,177,178,179,182],{},"Создайте файл, например, ",[57,180,181],{},"my‑job",":",[66,184,186],{"className":68,"code":185,"language":70,"meta":71,"style":71},"sudo nano /etc/cron.d/my-job\n",[57,187,188],{"__ignoreMap":71},[75,189,190,192,195],{"class":77,"line":78},[75,191,82],{"class":81},[75,193,194],{"class":85}," nano",[75,196,197],{"class":85}," /etc/cron.d/my-job\n",[21,199,200],{},"Добавьте строку в формате crontab, например:",[66,202,205],{"className":203,"code":204,"language":156},[154],"0 3 * * * root /usr/bin/yum -y update\n",[57,206,204],{"__ignoreMap":71},[21,208,209,210,213],{},"Убедитесь, что файл имеет права ",[57,211,212],{},"644"," и принадлежит корневому пользователю:",[66,215,217],{"className":68,"code":216,"language":70,"meta":71,"style":71},"sudo chmod 644 /etc/cron.d/my-job\nsudo chown root:root /etc/cron.d/my-job\n",[57,218,219,231],{"__ignoreMap":71},[75,220,221,223,226,229],{"class":77,"line":78},[75,222,82],{"class":81},[75,224,225],{"class":85}," chmod",[75,227,228],{"class":142}," 644",[75,230,197],{"class":85},[75,232,233,235,238,241],{"class":77,"line":95},[75,234,82],{"class":81},[75,236,237],{"class":85}," chown",[75,239,240],{"class":85}," root:root",[75,242,197],{"class":85},[21,244,245],{},"Cron автоматически загрузит новое задание; перезагрузка службы не требуется.",[49,247,249],{"id":248},"шаг-4-проверить-и-отладить-cron-задания","Шаг 4: Проверить и отладить cron-задания",[21,251,252],{},"Чтобы убедиться, что задания настроены правильно:",[66,254,256],{"className":68,"code":255,"language":70,"meta":71,"style":71},"# Показать пользовательский crontab текущего пользователя\ncrontab -l\n\n# Просмотреть системные задания\nls -l /etc/cron.d/\n",[57,257,258,264,271,278,284],{"__ignoreMap":71},[75,259,260],{"class":77,"line":78},[75,261,263],{"class":262},"sJ8bj","# Показать пользовательский crontab текущего пользователя\n",[75,265,266,268],{"class":77,"line":95},[75,267,139],{"class":81},[75,269,270],{"class":142}," -l\n",[75,272,274],{"class":77,"line":273},3,[75,275,277],{"emptyLinePlaceholder":276},true,"\n",[75,279,281],{"class":77,"line":280},4,[75,282,283],{"class":262},"# Просмотреть системные задания\n",[75,285,287,290,293],{"class":77,"line":286},5,[75,288,289],{"class":81},"ls",[75,291,292],{"class":142}," -l",[75,294,295],{"class":85}," /etc/cron.d/\n",[21,297,298],{},"Проверьте журнал cron на предмет ошибок:",[66,300,302],{"className":68,"code":301,"language":70,"meta":71,"style":71},"sudo journalctl -u cron -b\n",[57,303,304],{"__ignoreMap":71},[75,305,306,308,311,314,317],{"class":77,"line":78},[75,307,82],{"class":81},[75,309,310],{"class":85}," journalctl",[75,312,313],{"class":142}," -u",[75,315,316],{"class":85}," cron",[75,318,319],{"class":142}," -b\n",[21,321,322],{},"Если скрипт должен запускаться, но не запускается, выполните его вручную (с теми же параметрами, что и в crontab), чтобы выявить проблемы с путями или правами.",[16,324,326],{"id":325},"проверка-результата","Проверка результата",[328,329,330,343,353],"ol",{},[32,331,332,335,336,339,340,342],{},[111,333,334],{},"Визуальная проверка:"," ",[57,337,338],{},"crontab -l"," отображает ваши пользовательские задания. Просмотрите ",[57,341,174],{}," для системных заданий.",[32,344,345,348,349,352],{},[111,346,347],{},"Лог выполнения:"," Некоторое время подождите (или установите задание с интервалом несколько минут) и проверьте ",[57,350,351],{},"journalctl -u cron",". Успешные запуски обычно фиксируются без ошибок.",[32,354,355,358],{},[111,356,357],{},"Ручное тестирование:"," Запустите целевой скрипт с теми же параметрами, которые указаны в cron-задании, чтобы подтвердить работоспособность.",[16,360,362],{"id":361},"возможные-проблемы","Возможные проблемы",[29,364,365,375,388,398],{},[32,366,367,370,371,374],{},[111,368,369],{},"Задание не запускается:"," Проверьте синтаксис crontab (отсутствие лишних пробелов, правильный таймzón). Убедитесь, что скрипт исполняем (",[57,372,373],{},"chmod +x",").",[32,376,377,380,381,384,385,387],{},[111,378,379],{},"Неправильное время выполнения:"," Системный часовой пояс cron может отличаться от таймзоны пользователя. Используйте строку ",[57,382,383],{},"TZ",", чтобы задать часовой пояс в ",[57,386,174],{}," файле.",[32,389,390,393,394,397],{},[111,391,392],{},"Недостаток прав:"," Системные задания должны указывать пользователя (например, ",[57,395,396],{},"root","). Пользовательские задания наследуют права вызывающего пользователя.",[32,399,400,403,404,407,408,411,412,129],{},[111,401,402],{},"Переполнение логов:"," Если cron создает много журналов, настройте ротацию логов (",[57,405,406],{},"logrotate",") для ",[57,409,410],{},"/var/log/syslog"," или ",[57,413,414],{},"/var/log/cron.log",[21,416,417],{},"Теперь у вас есть полностью работоспособная система cron, готовая автоматизировать любую регулярную задачу в вашей среде Linux. Не стесняйтесь экспериментировать с синтаксисом и интегрировать cron с другими инструментами автоматизации, такими как Ansible или Docker Compose, для более сложных рабочих процессов.",[419,420,421],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":71,"searchDepth":95,"depth":95,"links":423},[424,425,426,432,433],{"id":18,"depth":95,"text":19},{"id":26,"depth":95,"text":27},{"id":46,"depth":95,"text":47,"children":427},[428,429,430,431],{"id":51,"depth":273,"text":52},{"id":121,"depth":273,"text":122},{"id":167,"depth":273,"text":168},{"id":248,"depth":273,"text":249},{"id":325,"depth":95,"text":326},{"id":361,"depth":95,"text":362},null,"2026-07-22 08:26:00","Настройте cron-задания в Linux, автоматизируйте задачи и сэкономьте время за 5 простых шагов.","medium",false,"10-15 мин","md",[442,445,448,451],{"question":443,"answer":444},"Как просмотреть список активных cron-заданий?","Откройте терминал и выполните `crontab -l`, либо проверьте `/etc/crontab` и `/etc/cron.d/`.",{"question":446,"answer":447},"Как настроить cron-задание для регулярного выполнения скрипта?","Добавьте строку в свой crontab (`crontab -e`), например `0 2 * * * /path/to/script.sh`.",{"question":449,"answer":450},"Что делать, если cron-задание не выполняется?","Проверьте журнал событий cron (`journalctl -u cron`), права выполнения скрипта и правильность синтаксиса.",{"question":452,"answer":453},"Как отключить или удалить cron-задание?","Удалите строку из crontab (`crontab -e`) или удалите файл из `/etc/cron.d/`.",[455,458,461,464],{"name":456,"text":457},"Включить службу cron и проверить её статус","Выполните `sudo systemctl enable cron && sudo systemctl status cron`, чтобы убедиться, что служба работает.",{"name":459,"text":460},"Создать или отредактировать пользовательский crontab","Запустите `crontab -e`, выберите редактор и добавьте необходимые задания. Сохраните и выйдите.",{"name":462,"text":463},"Добавить системное cron-задание (если необходимо)","Создайте файл в каталоге `/etc/cron.d/` с описанием задания, убедитесь, что он имеет правильные права (`chmod 644`).",{"name":465,"text":466},"Проверить и отладить cron-задания","Выведите список заданий (`crontab -l`), проверьте логи (`journalctl -u cron -b`), и протестируйте выполнение скрипта вручную.","PT15M",[469,470,471,472,473,474,475,476,477],"cron-задания linux","настроить cron","запланировать задачу cron","таблица cron","crontab редактор","как настроить cron в Ubuntu","cron задания examples","пользовательский crontab","системный cron","ru_RU",{},"/guides/linux/cron-jobs","linux",[483,484,485],"/guides/linux/crontab","/guides/linux/systemd-timers","/errors/linux/cron-error","Гайды Linux",{"title":5,"description":436},"guides/linux/cron-jobs","В этом руководстве вы научитесь создавать, редактировать и оптимизировать cron-задания в Linux для автоматизации рутинных задач.",[59,491,492,493,494,70],"Linux","планирование задач","автоматизация","Ubuntu","guide","hS8_e2ygAlJj2jXI-fxTw2Jl2--AuO5kKnBBG7sNOvM",{"data":498,"body":499},{},{"type":396,"children":500},[501],{"type":502,"tag":21,"props":503,"children":504},"element",{},[505,507,512,514,520,522,527],{"type":156,"value":506},"Откройте терминал и выполните ",{"type":502,"tag":57,"props":508,"children":510},{"className":509},[],[511],{"type":156,"value":338},{"type":156,"value":513},", либо проверьте ",{"type":502,"tag":57,"props":515,"children":517},{"className":516},[],[518],{"type":156,"value":519},"/etc/crontab",{"type":156,"value":521}," и ",{"type":502,"tag":57,"props":523,"children":525},{"className":524},[],[526],{"type":156,"value":174},{"type":156,"value":129},{"data":529,"body":530},{},{"type":396,"children":531},[532],{"type":502,"tag":21,"props":533,"children":534},{},[535,537,542,544,550],{"type":156,"value":536},"Добавьте строку в свой crontab (",{"type":502,"tag":57,"props":538,"children":540},{"className":539},[],[541],{"type":156,"value":128},{"type":156,"value":543},"), например ",{"type":502,"tag":57,"props":545,"children":547},{"className":546},[],[548],{"type":156,"value":549},"0 2 * * * /path/to/script.sh",{"type":156,"value":129},{"data":552,"body":553},{},{"type":396,"children":554},[555],{"type":502,"tag":21,"props":556,"children":557},{},[558,560,565],{"type":156,"value":559},"Проверьте журнал событий cron (",{"type":502,"tag":57,"props":561,"children":563},{"className":562},[],[564],{"type":156,"value":351},{"type":156,"value":566},"), права выполнения скрипта и правильность синтаксиса.",{"data":568,"body":569},{},{"type":396,"children":570},[571],{"type":502,"tag":21,"props":572,"children":573},{},[574,576,581,583,588],{"type":156,"value":575},"Удалите строку из crontab (",{"type":502,"tag":57,"props":577,"children":579},{"className":578},[],[580],{"type":156,"value":128},{"type":156,"value":582},") или удалите файл из ",{"type":502,"tag":57,"props":584,"children":586},{"className":585},[],[587],{"type":156,"value":174},{"type":156,"value":129},{"data":590,"body":591},{},{"type":396,"children":592},[593],{"type":502,"tag":21,"props":594,"children":595},{},[596,598,604],{"type":156,"value":597},"Выполните ",{"type":502,"tag":57,"props":599,"children":601},{"className":600},[],[602],{"type":156,"value":603},"sudo systemctl enable cron && sudo systemctl status cron",{"type":156,"value":605},", чтобы убедиться, что служба работает.",{"data":607,"body":608},{},{"type":396,"children":609},[610],{"type":502,"tag":21,"props":611,"children":612},{},[613,615,620],{"type":156,"value":614},"Запустите ",{"type":502,"tag":57,"props":616,"children":618},{"className":617},[],[619],{"type":156,"value":128},{"type":156,"value":621},", выберите редактор и добавьте необходимые задания. Сохраните и выйдите.",{"data":623,"body":624},{},{"type":396,"children":625},[626],{"type":502,"tag":21,"props":627,"children":628},{},[629,631,636,638,644],{"type":156,"value":630},"Создайте файл в каталоге ",{"type":502,"tag":57,"props":632,"children":634},{"className":633},[],[635],{"type":156,"value":174},{"type":156,"value":637}," с описанием задания, убедитесь, что он имеет правильные права (",{"type":502,"tag":57,"props":639,"children":641},{"className":640},[],[642],{"type":156,"value":643},"chmod 644",{"type":156,"value":374},{"data":646,"body":647},{},{"type":396,"children":648},[649],{"type":502,"tag":21,"props":650,"children":651},{},[652,654,659,661,667],{"type":156,"value":653},"Выведите список заданий (",{"type":502,"tag":57,"props":655,"children":657},{"className":656},[],[658],{"type":156,"value":338},{"type":156,"value":660},"), проверьте логи (",{"type":502,"tag":57,"props":662,"children":664},{"className":663},[],[665],{"type":156,"value":666},"journalctl -u cron -b",{"type":156,"value":668},"), и протестируйте выполнение скрипта вручную.",[670],{"id":671,"title":672,"appliesTo":673,"author":11,"body":675,"canonical":434,"code":434,"createdAt":1594,"description":1595,"difficulty":437,"draft":438,"estimatedTime":1596,"extension":440,"faq":1597,"howToSteps":1607,"howToTotalTime":1626,"image":434,"keywords":1627,"locale":478,"meta":1636,"navigation":276,"path":484,"platform":481,"related":1637,"section":486,"seo":1641,"severity":434,"stem":1642,"summary":1643,"tags":1644,"twitterCreator":434,"twitterSite":434,"type":495,"updatedAt":1594,"__hash__":1648},"content_ru/guides/linux/systemd-timers.md","Systemd-таймеры: гибкая замена cron для автоматизации в Linux",[674],"systemd 235+ (все современные дистрибутивы: Ubuntu 18.04+, Debian 9+, CentOS 7+, Fedora 25+)",{"type":13,"value":676,"toc":1569},[677,679,692,695,697,749,753,764,770,860,865,912,916,922,988,992,1040,1044,1047,1061,1064,1068,1071,1131,1138,1140,1144,1148,1151,1163,1166,1170,1175,1229,1233,1255,1259,1263,1269,1287,1297,1301,1307,1325,1332,1336,1342,1361,1364,1366,1419,1422,1424,1428,1465,1469,1504,1511,1566],[16,678,19],{"id":18},[21,680,681,684,685,687,688,691],{},[111,682,683],{},"Systemd-таймеры"," — это современный механизм планирования задач в системах, использующих systemd (практически все актуальные дистрибутивы Linux). Он пришел на смену классическому ",[57,686,59],{},", предлагая более тесную интеграцию с системой инициализации, расширенные возможности расписания и единый журнал событий (",[57,689,690],{},"journalctl","). С помощью таймеров вы можете автоматизировать резервное копирование, очистку логов, проверку обновлений или запуск любых скриптов по расписанию, с задержкой после загрузки или даже в зависимости от других событий системы.",[21,693,694],{},"После прохождения этого гайда вы сможете создавать надежные и легко управляемые задания, которые будут корректно обрабатывать пропущенные запуски (например, если компьютер был выключен) и предоставлять детальную информацию о своих работах.",[16,696,27],{"id":26},[328,698,699,711,724,733],{},[32,700,701,704,705,411,708,374],{},[111,702,703],{},"Система с systemd:"," Убедитесь, что в вашем дистрибутиве используется systemd (проверьте ",[57,706,707],{},"echo $INIT_SYSTEM",[57,709,710],{},"ps -p 1 -o comm=",[32,712,713,716,717,720,721,129],{},[111,714,715],{},"Права суперпользователя (root):"," Для создания системных юнитов в ",[57,718,719],{},"/etc/systemd/system/"," и их управления требуются права администратора. Для пользовательских таймеров (без sudo) используйте ",[57,722,723],{},"~/.config/systemd/user/",[32,725,726,729,730,129],{},[111,727,728],{},"Базовое понимание systemd:"," Желательно знать, что такое unit-файлы и команда ",[57,731,732],{},"systemctl",[32,734,735,738,739,742,743,411,746,129],{},[111,736,737],{},"Текстовый редактор:"," Например, ",[57,740,741],{},"nano",", ",[57,744,745],{},"vim",[57,747,748],{},"vi",[16,750,752],{"id":751},"шаг-1-создаем-файл-службы-service","Шаг 1: Создаем файл службы (.service)",[21,754,755,756,759,760,763],{},"Таймер не выполняет команды напрямую. Он активирует ",[111,757,758],{},"файл службы"," (",[57,761,762],{},".service","), который содержит инструкции по запуску вашей задачи. Начнем с него.",[21,765,766,767,182],{},"Давайте создадим простую службу для резервного копирования домашней директории. Сохраните этот конфиг как ",[57,768,769],{},"/etc/systemd/system/home-backup.service",[66,771,775],{"className":772,"code":773,"language":774,"meta":71,"style":71},"language-ini shiki shiki-themes github-light github-dark","[Unit]\nDescription=Резервное копирование домашней директории\n# Запускать службу только если доступна сеть (опционально)\nWants=network-online.target\nAfter=network-online.target\n\n[Service]\nType=oneshot\n# Команда, которую нужно выполнить. Пример с tar и сжатием.\nExecStart=/bin/tar -czf /var/backups/home_$(date +\\%Y-\\%m-\\%d).tar.gz /home\n# Указываем, что задание выполняется один раз за запуск таймера\nRemainAfterExit=yes\n\n[Install]\nWantedBy=multi-user.target\n","ini",[57,776,777,782,787,792,797,802,807,813,819,825,831,837,843,848,854],{"__ignoreMap":71},[75,778,779],{"class":77,"line":78},[75,780,781],{},"[Unit]\n",[75,783,784],{"class":77,"line":95},[75,785,786],{},"Description=Резервное копирование домашней директории\n",[75,788,789],{"class":77,"line":273},[75,790,791],{},"# Запускать службу только если доступна сеть (опционально)\n",[75,793,794],{"class":77,"line":280},[75,795,796],{},"Wants=network-online.target\n",[75,798,799],{"class":77,"line":286},[75,800,801],{},"After=network-online.target\n",[75,803,805],{"class":77,"line":804},6,[75,806,277],{"emptyLinePlaceholder":276},[75,808,810],{"class":77,"line":809},7,[75,811,812],{},"[Service]\n",[75,814,816],{"class":77,"line":815},8,[75,817,818],{},"Type=oneshot\n",[75,820,822],{"class":77,"line":821},9,[75,823,824],{},"# Команда, которую нужно выполнить. Пример с tar и сжатием.\n",[75,826,828],{"class":77,"line":827},10,[75,829,830],{},"ExecStart=/bin/tar -czf /var/backups/home_$(date +\\%Y-\\%m-\\%d).tar.gz /home\n",[75,832,834],{"class":77,"line":833},11,[75,835,836],{},"# Указываем, что задание выполняется один раз за запуск таймера\n",[75,838,840],{"class":77,"line":839},12,[75,841,842],{},"RemainAfterExit=yes\n",[75,844,846],{"class":77,"line":845},13,[75,847,277],{"emptyLinePlaceholder":276},[75,849,851],{"class":77,"line":850},14,[75,852,853],{},"[Install]\n",[75,855,857],{"class":77,"line":856},15,[75,858,859],{},"WantedBy=multi-user.target\n",[21,861,862],{},[111,863,864],{},"Ключевые моменты:",[29,866,867,877,893,899],{},[32,868,869,872,873,876],{},[57,870,871],{},"Type=oneshot",": Процесс службы завершается после выполнения ",[57,874,875],{},"ExecStart",". Используется для одноразовых задач.",[32,878,879,881,882,885,886,889,890,374],{},[57,880,875],{},": Основная команда. Обратите внимание на экранирование ",[57,883,884],{},"%"," в ",[57,887,888],{},"date"," (нужно ",[57,891,892],{},"\\%",[32,894,895,898],{},[57,896,897],{},"RemainAfterExit=yes",": Позволяет службе считаться активной после завершения команды. Полезно для мониторинга статуса.",[32,900,901,902,904,905,908,909,129],{},"Если нужно выполнить несколько команд, используйте скрипт и укажите его путь в ",[57,903,875],{},", или через ",[57,906,907],{},"ExecStartPre","/",[57,910,911],{},"ExecStartPost",[16,913,915],{"id":914},"шаг-2-создаем-файл-таймера-timer","Шаг 2: Создаем файл таймера (.timer)",[21,917,918,919,182],{},"Теперь создадим файл таймера, который будет запускать нашу службу по расписанию. Сохраните как ",[57,920,921],{},"/etc/systemd/system/home-backup.timer",[66,923,925],{"className":772,"code":924,"language":774,"meta":71,"style":71},"[Unit]\nDescription=Таймер для ежедневного резервного копирования домашней директории\n\n[Timer]\n# Расписание: каждый день в 02:30\nOnCalendar=*-*-* 02:30:00\n# Если задание было пропущено (компьютер выключен), запустить его при следующей загрузке\nPersistent=true\n# Служба, которую активировать\nUnit=home-backup.service\n\n[Install]\nWantedBy=timers.target\n",[57,926,927,931,936,940,945,950,955,960,965,970,975,979,983],{"__ignoreMap":71},[75,928,929],{"class":77,"line":78},[75,930,781],{},[75,932,933],{"class":77,"line":95},[75,934,935],{},"Description=Таймер для ежедневного резервного копирования домашней директории\n",[75,937,938],{"class":77,"line":273},[75,939,277],{"emptyLinePlaceholder":276},[75,941,942],{"class":77,"line":280},[75,943,944],{},"[Timer]\n",[75,946,947],{"class":77,"line":286},[75,948,949],{},"# Расписание: каждый день в 02:30\n",[75,951,952],{"class":77,"line":804},[75,953,954],{},"OnCalendar=*-*-* 02:30:00\n",[75,956,957],{"class":77,"line":809},[75,958,959],{},"# Если задание было пропущено (компьютер выключен), запустить его при следующей загрузке\n",[75,961,962],{"class":77,"line":815},[75,963,964],{},"Persistent=true\n",[75,966,967],{"class":77,"line":821},[75,968,969],{},"# Служба, которую активировать\n",[75,971,972],{"class":77,"line":827},[75,973,974],{},"Unit=home-backup.service\n",[75,976,977],{"class":77,"line":833},[75,978,277],{"emptyLinePlaceholder":276},[75,980,981],{"class":77,"line":839},[75,982,853],{},[75,984,985],{"class":77,"line":845},[75,986,987],{},"WantedBy=timers.target\n",[21,989,990],{},[111,991,864],{},[29,993,994,1017,1027],{},[32,995,996,999,1000,1003,1004],{},[57,997,998],{},"OnCalendar=*-*-* 02:30:00",": Гибкий синтаксис календаря. ",[57,1001,1002],{},"*"," означает \"любое значение\". Здесь: любой год, любой месяц, любой день в 02:30.\n",[29,1005,1006],{},[32,1007,1008,1009,1012,1013,1016],{},"Примеры: ",[57,1010,1011],{},"Mon *-*-* 09:00:00"," (каждый понедельник в 9 утра), ",[57,1014,1015],{},"*-*-1 00:00:00"," (в первый день каждого месяца).",[32,1018,1019,1022,1023,1026],{},[57,1020,1021],{},"Persistent=true",": Критически важная опция! Если компьютер был выключен в момент срабатывания таймера, ",[57,1024,1025],{},"systemd"," запустит задание сразу же при следующей загрузке системы.",[32,1028,1029,1032,1033,521,1036,1039],{},[57,1030,1031],{},"Unit=home-backup.service",": Явно указываем, какую службу запускать. Если имя файла службы совпадает с именем таймера (например, ",[57,1034,1035],{},"home-backup.timer",[57,1037,1038],{},"home-backup.service","), этот параметр можно опустить.",[16,1041,1043],{"id":1042},"шаг-3-перезагружаем-конфигурацию-systemd","Шаг 3: Перезагружаем конфигурацию systemd",[21,1045,1046],{},"После создания обоих файлов необходимо сообщить systemd о их существовании. Выполните команду:",[66,1048,1050],{"className":68,"code":1049,"language":70,"meta":71,"style":71},"sudo systemctl daemon-reload\n",[57,1051,1052],{"__ignoreMap":71},[75,1053,1054,1056,1058],{"class":77,"line":78},[75,1055,82],{"class":81},[75,1057,86],{"class":85},[75,1059,1060],{"class":85}," daemon-reload\n",[21,1062,1063],{},"Эта команда заставляет systemd перечитать все конфигурационные файлы. Без нее новые таймеры и службы не будут видны системе.",[16,1065,1067],{"id":1066},"шаг-4-активируем-и-запускаем-таймер","Шаг 4: Активируем и запускаем таймер",[21,1069,1070],{},"Теперь нужно включить таймер (чтобы он запускался автоматически при загрузке) и, возможно, запустить его сразу для теста.",[66,1072,1074],{"className":68,"code":1073,"language":70,"meta":71,"style":71},"# 1. Включить автозапуск таймера при загрузке системы\nsudo systemctl enable home-backup.timer\n\n# 2. Запустить таймер немедленно (для проверки)\nsudo systemctl start home-backup.timer\n\n# 3. Проверить статус\nsudo systemctl status home-backup.timer\n",[57,1075,1076,1081,1092,1096,1101,1112,1116,1121],{"__ignoreMap":71},[75,1077,1078],{"class":77,"line":78},[75,1079,1080],{"class":262},"# 1. Включить автозапуск таймера при загрузке системы\n",[75,1082,1083,1085,1087,1089],{"class":77,"line":95},[75,1084,82],{"class":81},[75,1086,86],{"class":85},[75,1088,89],{"class":85},[75,1090,1091],{"class":85}," home-backup.timer\n",[75,1093,1094],{"class":77,"line":273},[75,1095,277],{"emptyLinePlaceholder":276},[75,1097,1098],{"class":77,"line":280},[75,1099,1100],{"class":262},"# 2. Запустить таймер немедленно (для проверки)\n",[75,1102,1103,1105,1107,1110],{"class":77,"line":286},[75,1104,82],{"class":81},[75,1106,86],{"class":85},[75,1108,1109],{"class":85}," start",[75,1111,1091],{"class":85},[75,1113,1114],{"class":77,"line":804},[75,1115,277],{"emptyLinePlaceholder":276},[75,1117,1118],{"class":77,"line":809},[75,1119,1120],{"class":262},"# 3. Проверить статус\n",[75,1122,1123,1125,1127,1129],{"class":77,"line":815},[75,1124,82],{"class":81},[75,1126,86],{"class":85},[75,1128,102],{"class":85},[75,1130,1091],{"class":85},[21,1132,1133,1134,1137],{},"Вы должны увидеть активный (",[57,1135,1136],{},"active (waiting)",") таймер и время следующего запуска (Next elapse).",[163,1139],{},[16,1141,1143],{"id":1142},"шаг-5-мониторинг-и-управление","Шаг 5: Мониторинг и управление",[49,1145,1147],{"id":1146},"просмотр-всех-активных-таймеров","Просмотр всех активных таймеров",[21,1149,1150],{},"Чтобы увидеть список всех настроенных таймеров и время их следующего срабатывания, используйте:",[66,1152,1154],{"className":68,"code":1153,"language":70,"meta":71,"style":71},"systemctl list-timers\n",[57,1155,1156],{"__ignoreMap":71},[75,1157,1158,1160],{"class":77,"line":78},[75,1159,732],{"class":81},[75,1161,1162],{"class":85}," list-timers\n",[21,1164,1165],{},"Эта команда покажет вам таблицу с именем таймера, временем следующего запуска, временем последнего запуска и юнитом, который он активирует.",[49,1167,1169],{"id":1168},"просмотр-логов","Просмотр логов",[21,1171,1172,1173,182],{},"Все, что выводит ваша служба (включая ошибки), попадает в журнал systemd. Для просмотра используйте ",[57,1174,690],{},[66,1176,1178],{"className":68,"code":1177,"language":70,"meta":71,"style":71},"# Логи конкретного таймера и связанной с ним службы\nsudo journalctl -u home-backup.timer -u home-backup.service -f\n\n# Логи за последний день\nsudo journalctl -u home-backup.service --since \"1 day ago\"\n",[57,1179,1180,1185,1204,1208,1213],{"__ignoreMap":71},[75,1181,1182],{"class":77,"line":78},[75,1183,1184],{"class":262},"# Логи конкретного таймера и связанной с ним службы\n",[75,1186,1187,1189,1191,1193,1196,1198,1201],{"class":77,"line":95},[75,1188,82],{"class":81},[75,1190,310],{"class":85},[75,1192,313],{"class":142},[75,1194,1195],{"class":85}," home-backup.timer",[75,1197,313],{"class":142},[75,1199,1200],{"class":85}," home-backup.service",[75,1202,1203],{"class":142}," -f\n",[75,1205,1206],{"class":77,"line":273},[75,1207,277],{"emptyLinePlaceholder":276},[75,1209,1210],{"class":77,"line":280},[75,1211,1212],{"class":262},"# Логи за последний день\n",[75,1214,1215,1217,1219,1221,1223,1226],{"class":77,"line":286},[75,1216,82],{"class":81},[75,1218,310],{"class":85},[75,1220,313],{"class":142},[75,1222,1200],{"class":85},[75,1224,1225],{"class":142}," --since",[75,1227,1228],{"class":85}," \"1 day ago\"\n",[49,1230,1232],{"id":1231},"остановка-и-отключение","Остановка и отключение",[29,1234,1235,1244],{},[32,1236,1237,1240,1241],{},[111,1238,1239],{},"Остановить"," текущий запуск (если он в процессе): ",[57,1242,1243],{},"sudo systemctl stop home-backup.timer",[32,1245,1246,521,1248,1251,1252],{},[111,1247,1239],{},[111,1249,1250],{},"отключить"," автозапуск: ",[57,1253,1254],{},"sudo systemctl disable --now home-backup.timer",[16,1256,1258],{"id":1257},"шаг-6-расширенные-возможности-и-примеры","Шаг 6: Расширенные возможности и примеры",[49,1260,1262],{"id":1261},"запуск-с-задержкой-после-загрузки","Запуск с задержкой после загрузки",[21,1264,1265,1266,182],{},"Если задача должна запускаться не по календарю, а через некоторое время после загрузки системы (например, чтобы дать время на запуск сетевых служб), используйте ",[57,1267,1268],{},"OnBootSec",[66,1270,1272],{"className":772,"code":1271,"language":774,"meta":71,"style":71},"[Timer]\nOnBootSec=15min\nUnit=home-backup.service\n",[57,1273,1274,1278,1283],{"__ignoreMap":71},[75,1275,1276],{"class":77,"line":78},[75,1277,944],{},[75,1279,1280],{"class":77,"line":95},[75,1281,1282],{},"OnBootSec=15min\n",[75,1284,1285],{"class":77,"line":273},[75,1286,974],{},[21,1288,1289,1290,521,1293,1296],{},"Это запустит службу через 15 минут после загрузки. Можно комбинировать: ",[57,1291,1292],{},"OnBootSec=5min",[57,1294,1295],{},"OnUnitActiveSec=1h"," для запуска через 5 минут после загрузки и затем каждый час.",[49,1298,1300],{"id":1299},"периодический-запуск-интервал","Периодический запуск (интервал)",[21,1302,1303,1304,182],{},"Для интервалов, не привязанных к календарю (например, \"каждые 30 минут\"), используйте ",[57,1305,1306],{},"OnUnitActiveSec",[66,1308,1310],{"className":772,"code":1309,"language":774,"meta":71,"style":71},"[Timer]\nOnUnitActiveSec=30min\nUnit=home-backup.service\n",[57,1311,1312,1316,1321],{"__ignoreMap":71},[75,1313,1314],{"class":77,"line":78},[75,1315,944],{},[75,1317,1318],{"class":77,"line":95},[75,1319,1320],{},"OnUnitActiveSec=30min\n",[75,1322,1323],{"class":77,"line":273},[75,1324,974],{},[21,1326,1327,1328,1331],{},"Это означает: запускать службу каждые 30 минут после ",[111,1329,1330],{},"последнего успешного запуска"," этой службы.",[49,1333,1335],{"id":1334},"случайный-рандомизированный-запуск","Случайный (рандомизированный) запуск",[21,1337,1338,1339,182],{},"Чтобы избежать \"шторма\" при одновременном запуске множества таймеров на многих машинах (например, для обновлений), добавьте ",[57,1340,1341],{},"RandomizedDelaySec",[66,1343,1345],{"className":772,"code":1344,"language":774,"meta":71,"style":71},"[Timer]\nOnCalendar=daily\nRandomizedDelaySec=1h\n",[57,1346,1347,1351,1356],{"__ignoreMap":71},[75,1348,1349],{"class":77,"line":78},[75,1350,944],{},[75,1352,1353],{"class":77,"line":95},[75,1354,1355],{},"OnCalendar=daily\n",[75,1357,1358],{"class":77,"line":273},[75,1359,1360],{},"RandomizedDelaySec=1h\n",[21,1362,1363],{},"Задание будет запущено в случайный момент в течение часа после полуночи.",[16,1365,326],{"id":325},[328,1367,1368,1380,1389],{},[32,1369,1370,335,1373,1376,1377,129],{},[111,1371,1372],{},"Убедитесь, что таймер активен:",[57,1374,1375],{},"systemctl is-active home-backup.timer"," должен вернуть ",[57,1378,1379],{},"active",[32,1381,1382,335,1385,1388],{},[111,1383,1384],{},"Проверьте расписание:",[57,1386,1387],{},"systemctl list-timers | grep home-backup"," покажет время следующего запуска.",[32,1390,1391,1394,1395,1398,1399],{},[111,1392,1393],{},"Дождитесь срабатывания"," (или запустите вручную ",[57,1396,1397],{},"sudo systemctl start home-backup.timer",") и проверьте:\n",[29,1400,1401,1407,1413],{},[32,1402,1403,1404],{},"Файл бэкапа: ",[57,1405,1406],{},"ls -lh /var/backups/",[32,1408,1409,1410],{},"Статус службы: ",[57,1411,1412],{},"systemctl status home-backup.service",[32,1414,1415,1416],{},"Журнал: ",[57,1417,1418],{},"sudo journalctl -u home-backup.service --no-pager -n 20",[21,1420,1421],{},"Если бэкап создался и в логах нет ошибок — всё работает.",[16,1423,362],{"id":361},[49,1425,1427],{"id":1426},"таймер-не-запускается-по-расписанию","Таймер не запускается по расписанию",[29,1429,1430,1443,1451],{},[32,1431,1432,1438,1439,1442],{},[111,1433,1434,1435,129],{},"Проверьте синтаксис ",[57,1436,1437],{},"OnCalendar"," Используйте ",[57,1440,1441],{},"systemd-analyze calendar '*-*-* 02:30:00'"," для валидации.",[32,1444,1445,1450],{},[111,1446,1447,1448],{},"Убедитесь, что ",[57,1449,1021],{}," установлено, если компьютер может быть выключен в момент запуска.",[32,1452,1453,1458,1459,1461,1462,1464],{},[111,1454,1455,1456,129],{},"Проверьте, не конфликтует ли таймер с ",[57,1457,59],{}," Systemd и ",[57,1460,59],{}," независимы. Если задача уже есть в ",[57,1463,59],{},", отключите её, чтобы избежать двойного запуска.",[49,1466,1468],{"id":1467},"служба-запущенная-таймером-завершается-с-ошибкой","Служба, запущенная таймером, завершается с ошибкой",[29,1470,1471,1483,1491],{},[32,1472,1473,1479,1480,1482],{},[111,1474,1475,1476,129],{},"Смотрите логи ",[57,1477,1478],{},"journalctl -u \u003Cservice>.service"," Ошибка почти всегда в команде ",[57,1481,875],{}," (неверный путь, нет прав, недостаточно места).",[32,1484,1485,1488,1489,129],{},[111,1486,1487],{},"Проверьте права доступа"," к скрипту/команде и к целевым директориям/файлам. Для системных служб часто требуется ",[57,1490,396],{},[32,1492,1493,1497,1498,411,1501,129],{},[111,1494,1447,1495],{},[57,1496,871],{}," соответствует вашей задаче. Если команда запускает демон, может потребоваться ",[57,1499,1500],{},"Type=forking",[57,1502,1503],{},"Type=notify",[49,1505,1507,1508],{"id":1506},"таймер-не-виден-в-systemctl-list-timers","Таймер не виден в ",[57,1509,1510],{},"systemctl list-timers",[29,1512,1513,1522,1534,1547],{},[32,1514,1515,1521],{},[111,1516,1517,1518],{},"Выполнили ли вы ",[57,1519,1520],{},"daemon-reload"," после создания файлов?",[32,1523,1524,1527,1528,1531,1532,129],{},[111,1525,1526],{},"Файлы имеют правильные имена и расположение?"," Для системных юнитов: ",[57,1529,1530],{},"/etc/systemd/system/\u003Cname>.timer",". Для пользовательских: ",[57,1533,723],{},[32,1535,1536,335,1539,1542,1543,1546],{},[111,1537,1538],{},"Таймер включен?",[57,1540,1541],{},"sudo systemctl enable \u003Cname>.timer"," (для системного) или ",[57,1544,1545],{},"systemctl --user enable \u003Cname>.timer"," (для пользовательского).",[32,1548,1549,335,1552,1555,1556,1558,1559,1562,1563,374],{},[111,1550,1551],{},"Проверьте, не активирован ли таймер сразу:",[57,1553,1554],{},"systemctl status \u003Cname>.timer",". Если он ",[57,1557,1136],{},", он работает. Если ",[57,1560,1561],{},"inactive (dead)",", возможно, его нужно запустить (",[57,1564,1565],{},"start",[419,1567,1568],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":71,"searchDepth":95,"depth":95,"links":1570},[1571,1572,1573,1574,1575,1576,1577,1582,1587,1588],{"id":18,"depth":95,"text":19},{"id":26,"depth":95,"text":27},{"id":751,"depth":95,"text":752},{"id":914,"depth":95,"text":915},{"id":1042,"depth":95,"text":1043},{"id":1066,"depth":95,"text":1067},{"id":1142,"depth":95,"text":1143,"children":1578},[1579,1580,1581],{"id":1146,"depth":273,"text":1147},{"id":1168,"depth":273,"text":1169},{"id":1231,"depth":273,"text":1232},{"id":1257,"depth":95,"text":1258,"children":1583},[1584,1585,1586],{"id":1261,"depth":273,"text":1262},{"id":1299,"depth":273,"text":1300},{"id":1334,"depth":273,"text":1335},{"id":325,"depth":95,"text":326},{"id":361,"depth":95,"text":362,"children":1589},[1590,1591,1592],{"id":1426,"depth":273,"text":1427},{"id":1467,"depth":273,"text":1468},{"id":1506,"depth":273,"text":1593},"Таймер не виден в systemctl list-timers","2026-02-16 18:55:58","Подробное руководство по настройке systemd-таймеров. Узнайте, как создавать, управлять и отлаживать задания по расписанию с помощью systemd. Практические примеры и советы.","15-30 минут",[1598,1601,1604],{"question":1599,"answer":1600},"В чем основное преимущество systemd-таймера перед cron?","Systemd-таймеры интегрированы с журналом systemd (journalctl), поддерживают календарные события (например 'Mon *-*-* 09:00:00' для каждого понедельника), могут запускаться с задержкой после загрузки системы (OnBootSec) и не зависят от отдельного демона.",{"question":1602,"answer":1603},"Как проверить, что мой таймер работает?","Используйте `systemctl list-timers --all` для просмотра всех таймеров и времени следующего запуска. Логи конкретного таймера смотрите через `journalctl -u \u003Cимя_таймера>.timer`.",{"question":1605,"answer":1606},"Можно ли запускать таймер только при наличии сети?","Да, в юните службы (не таймера!) укажите `Wants=network-online.target` и `After=network-online.target`. Это потребует, чтобы сеть была полностью активна перед запуском.",[1608,1611,1614,1617,1620,1623],{"name":1609,"text":1610},"Понимание структуры: два юнита","Systemd-таймер состоит из двух файлов: файл службы (`.service`) с описанием задачи и файл таймера (`.timer`) с расписанием. Таймер активирует службу по заданному расписанию.",{"name":1612,"text":1613},"Создание файла службы","Создайте файл `/etc/systemd/system/my-backup.service` (или в `~/.config/systemd/user/` для пользовательского таймера). Укажите `[Service]` с `Type=oneshot` и команду `ExecStart`.",{"name":1615,"text":1616},"Создание файла таймера","Создайте файл `/etc/systemd/system/my-backup.timer`. В секции `[Timer]` задайте расписание через `OnCalendar` (календарь) или `OnActiveSec` (интервал). Укажите `Unit=my-backup.service`.",{"name":1618,"text":1619},"Перезагрузка конфигурации systemd","После создания файлов выполните `sudo systemctl daemon-reload`, чтобы systemd узнал о новых юнитах.",{"name":1621,"text":1622},"Активация и запуск таймера","Включите таймер для автозапуска при загрузке: `sudo systemctl enable my-backup.timer`. Запустите его немедленно: `sudo systemctl start my-backup.timer`.",{"name":1624,"text":1625},"Мониторинг и отладка","Проверяйте статус: `systemctl status my-backup.timer`. Смотрите историю запусков таймера и связанной службы в журналах: `journalctl -u my-backup.timer -u my-backup.service --since \"1 hour ago\"`.","PT20M",[1628,1629,1630,1631,1632,1633,1634,1635],"systemd timer","запуск службы по расписанию systemd","как настроить cron через systemd","systemd timer unit пример","отладка systemd таймера","замена cron systemd","автоматизация задач linux systemd","systemd timer vs cron",{},[1638,1639,1640],"/guides/linux/systemd-service-files","/guides/linux/cron-advanced","/errors/linux/systemd-failed-to-start",{"title":672,"description":1595},"guides/linux/systemd-timers","В этом гайде вы научитесь использовать systemd-таймеры — современный и мощный механизм планирования задач в Linux, который предлагает больше возможностей, чем классический cron. Мы разберем создание юнитов, управление через systemctl и решение типичных проблем.",[1025,481,493,59,1645,1646,1647],"администрирование","timer","sysadmin","AecptPlgrI_6D-HCeO3Jt8hMyL_1oA05JgVxnlxumzQ"]