[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/cron-job-troubleshooting":3,"mdc--blwsab-key":756,"mdc-co1thz-key":775,"mdc--wjj8y1-key":791,"mdc--bjkm6z-key":816,"mdc-64k26j-key":840,"mdc-fercig-key":871,"mdc-tscgv-key":894,"mdc-3m92tq-key":917,"mdc-jcqm4e-key":948,"related-/guides/linux/systemd-troubleshooting,/guides/linux/log-analysis,/guides/linux/crontab-syntax":994},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":690,"code":690,"createdAt":691,"description":692,"difficulty":693,"draft":694,"estimatedTime":695,"extension":696,"faq":697,"howToSteps":710,"howToTotalTime":726,"image":690,"keywords":727,"locale":736,"meta":737,"navigation":117,"path":738,"platform":739,"related":740,"section":744,"seo":745,"severity":690,"stem":746,"summary":747,"tags":748,"twitterCreator":690,"twitterSite":690,"type":754,"updatedAt":691,"__hash__":755},"content_ru/guides/linux/cron-job-troubleshooting.md","Решение распространённых проблем с заданиями cron в Linux",[7,8,9,10],"Ubuntu 20.04 LTS","Ubuntu 22.04 LTS","Debian 11","CentOS 8","FixPedia Team",{"type":13,"value":14,"toc":677},"minimark",[15,20,24,28,72,76,81,84,133,146,150,153,238,248,252,271,329,336,340,343,373,376,394,397,400,404,407,461,464,482,492,496,499,544,548,666,673],[16,17,19],"h2",{"id":18},"введение","Введение",[21,22,23],"p",{},"Задания cron — это основа автоматизации в Linux, но иногда они перестают выполняться без явных причин. В этом руководстве описаны наиболее распространённые причины сбоев, а также пошаговые действия для их устранения. После выполнения рекомендаций вы сможете быстро выявить и исправить проблему, вернув работу планировщика в рабочее состояние.",[16,25,27],{"id":26},"требования","Требования",[29,30,31,40,52],"ul",{},[32,33,34,35,39],"li",{},"Доступ к системе через SSH или консоль с правами администратора (",[36,37,38],"code",{},"sudo",").",[32,41,42,43],{},"Версии операционных систем:\n",[29,44,45,48,50],{},[32,46,47],{},"Ubuntu 20.04 LTS / 22.04 LTS",[32,49,9],{},[32,51,10],{},[32,53,54,55,58,59,58,62,58,65,58,68,71],{},"Базовые инструменты: ",[36,56,57],{},"crontab",", ",[36,60,61],{},"systemctl",[36,63,64],{},"journalctl",[36,66,67],{},"grep",[36,69,70],{},"tail",".",[16,73,75],{"id":74},"пошаговая-инструкция","Пошаговая инструкция",[77,78,80],"h3",{"id":79},"шаг-1-проверьте-синтаксис-файла-crontab","Шаг 1: Проверьте синтаксис файла crontab",[21,82,83],{},"Убедитесь, что записи в вашем crontab имеют правильный формат. Неправильное расположение звёздочек, пробелов или отсутствие исполняемой части часто приводят к silencе‑сбой.",[85,86,91],"pre",{"className":87,"code":88,"language":89,"meta":90,"style":90},"language-bash shiki shiki-themes github-light github-dark","# Просмотрите текущий crontab\ncrontab -l\n\n# Если нужно отредактировать\ncrontab -e\n","bash","",[36,92,93,102,112,119,125],{"__ignoreMap":90},[94,95,98],"span",{"class":96,"line":97},"line",1,[94,99,101],{"class":100},"sJ8bj","# Просмотрите текущий crontab\n",[94,103,105,108],{"class":96,"line":104},2,[94,106,57],{"class":107},"sScJk",[94,109,111],{"class":110},"sj4cs"," -l\n",[94,113,115],{"class":96,"line":114},3,[94,116,118],{"emptyLinePlaceholder":117},true,"\n",[94,120,122],{"class":96,"line":121},4,[94,123,124],{"class":100},"# Если нужно отредактировать\n",[94,126,128,130],{"class":96,"line":127},5,[94,129,57],{"class":107},[94,131,132],{"class":110}," -e\n",[134,135,136],"blockquote",{},[21,137,138,142,143,71],{},[139,140,141],"strong",{},"💡 Совет:"," Сохраните действующий crontab перед редактированием: ",[36,144,145],{},"crontab -l > ~/cron_backup.$(date +%F)",[77,147,149],{"id":148},"шаг-2-убедитесь-в-правильности-прав-доступа-и-владельца","Шаг 2: Убедитесь в правильности прав доступа и владельца",[21,151,152],{},"Задание может игнорироваться, если файл crontab принадлежит не тому пользователю или имеет неверные права. Для пользовательских заданий:",[85,154,156],{"className":87,"code":155,"language":89,"meta":90,"style":90},"# Экспортируйте crontab во временный файл\ncrontab -l > /tmp/user.cron\n\n# Верните правильные владельца и права\nsudo chown $USER:$USER /tmp/user.cron\nsudo chmod 600 /tmp/user.cron\n\n# Вставьте обратно\ncrontab /tmp/user.cron\n",[36,157,158,163,178,182,187,207,220,225,231],{"__ignoreMap":90},[94,159,160],{"class":96,"line":97},[94,161,162],{"class":100},"# Экспортируйте crontab во временный файл\n",[94,164,165,167,170,174],{"class":96,"line":104},[94,166,57],{"class":107},[94,168,169],{"class":110}," -l",[94,171,173],{"class":172},"szBVR"," >",[94,175,177],{"class":176},"sZZnC"," /tmp/user.cron\n",[94,179,180],{"class":96,"line":114},[94,181,118],{"emptyLinePlaceholder":117},[94,183,184],{"class":96,"line":121},[94,185,186],{"class":100},"# Верните правильные владельца и права\n",[94,188,189,191,194,198,201,204],{"class":96,"line":127},[94,190,38],{"class":107},[94,192,193],{"class":176}," chown",[94,195,197],{"class":196},"sVt8B"," $USER",[94,199,200],{"class":176},":",[94,202,203],{"class":196},"$USER ",[94,205,206],{"class":176},"/tmp/user.cron\n",[94,208,210,212,215,218],{"class":96,"line":209},6,[94,211,38],{"class":107},[94,213,214],{"class":176}," chmod",[94,216,217],{"class":110}," 600",[94,219,177],{"class":176},[94,221,223],{"class":96,"line":222},7,[94,224,118],{"emptyLinePlaceholder":117},[94,226,228],{"class":96,"line":227},8,[94,229,230],{"class":100},"# Вставьте обратно\n",[94,232,234,236],{"class":96,"line":233},9,[94,235,57],{"class":107},[94,237,177],{"class":176},[21,239,240,241,58,244,247],{},"Для системных заданий (",[36,242,243],{},"/etc/crontab",[36,245,246],{},"/etc/cron.d/*",") убедитесь, что они доступны только для чтения владельцем.",[77,249,251],{"id":250},"шаг-3-просмотрите-системный-и-пользовательский-журнал-событий-cron","Шаг 3: Просмотрите системный и пользовательский журнал событий cron",[21,253,254,255,258,259,262,263,266,267,270],{},"Cron записывает информацию о выполнении заданий в ",[36,256,257],{},"/var/log/syslog"," (запись с тегом ",[36,260,261],{},"CRON",") или в ",[36,264,265],{},"/var/log/cron.log"," (если активен ",[36,268,269],{},"cron.log","). Проверьте последние записи:",[85,272,274],{"className":87,"code":273,"language":89,"meta":90,"style":90},"# Системный журнал (Debian/Ubuntu)\nsudo grep CRON /var/log/syslog | tail -n 20\n\n# Альтернативный журнал (некоторые дистрибутивы)\nsudo tail -n 50 /var/log/cron.log\n",[36,275,276,281,306,310,315],{"__ignoreMap":90},[94,277,278],{"class":96,"line":97},[94,279,280],{"class":100},"# Системный журнал (Debian/Ubuntu)\n",[94,282,283,285,288,291,294,297,300,303],{"class":96,"line":104},[94,284,38],{"class":107},[94,286,287],{"class":176}," grep",[94,289,290],{"class":176}," CRON",[94,292,293],{"class":176}," /var/log/syslog",[94,295,296],{"class":172}," |",[94,298,299],{"class":107}," tail",[94,301,302],{"class":110}," -n",[94,304,305],{"class":110}," 20\n",[94,307,308],{"class":96,"line":114},[94,309,118],{"emptyLinePlaceholder":117},[94,311,312],{"class":96,"line":121},[94,313,314],{"class":100},"# Альтернативный журнал (некоторые дистрибутивы)\n",[94,316,317,319,321,323,326],{"class":96,"line":127},[94,318,38],{"class":107},[94,320,299],{"class":176},[94,322,302],{"class":110},[94,324,325],{"class":110}," 50",[94,327,328],{"class":176}," /var/log/cron.log\n",[21,330,331,332,335],{},"Ищите сообщения об ошибках, коды завершения (",[36,333,334],{},"cron: не удалось выполнить команду",") и время выполнения.",[77,337,339],{"id":338},"шаг-4-временно-отключите-задание-для-тестирования","Шаг 4: Временно отключите задание для тестирования",[21,341,342],{},"Чтобы убедиться, что именно это задание является причиной проблемы, временно отключите его:",[85,344,346],{"className":87,"code":345,"language":89,"meta":90,"style":90},"# Откройте crontab для редактирования\ncrontab -e\n\n# Добавьте # в начало строки задания (например, `# */5 * * * * /path/to/script.sh`)\n# Сохраните и выйдите\n",[36,347,348,353,359,363,368],{"__ignoreMap":90},[94,349,350],{"class":96,"line":97},[94,351,352],{"class":100},"# Откройте crontab для редактирования\n",[94,354,355,357],{"class":96,"line":104},[94,356,57],{"class":107},[94,358,132],{"class":110},[94,360,361],{"class":96,"line":114},[94,362,118],{"emptyLinePlaceholder":117},[94,364,365],{"class":96,"line":121},[94,366,367],{"class":100},"# Добавьте # в начало строки задания (например, `# */5 * * * * /path/to/script.sh`)\n",[94,369,370],{"class":96,"line":127},[94,371,372],{"class":100},"# Сохраните и выйдите\n",[21,374,375],{},"После редактирования перезапустите cron-сервис:",[85,377,379],{"className":87,"code":378,"language":89,"meta":90,"style":90},"sudo systemctl restart cron\n",[36,380,381],{"__ignoreMap":90},[94,382,383,385,388,391],{"class":96,"line":97},[94,384,38],{"class":107},[94,386,387],{"class":176}," systemctl",[94,389,390],{"class":176}," restart",[94,392,393],{"class":176}," cron\n",[21,395,396],{},"Если задание больше не появляется в журнале событий, проблема локализована.",[398,399],"in-article-ad",{},[77,401,403],{"id":402},"шаг-5-проверьте-конфигурацию-cron-сервиса","Шаг 5: Проверьте конфигурацию cron-сервиса",[21,405,406],{},"Если задания по-прежнему не выполняются, проверьте сам демон cron:",[85,408,410],{"className":87,"code":409,"language":89,"meta":90,"style":90},"# Статус службы\nsystemctl status cron\n\n# Включён ли сервис (автоматический запуск при загрузке)\nsystemctl is-enabled cron\n\n# Перезапустите при необходимости\nsystemctl restart cron\n",[36,411,412,417,426,430,435,444,448,453],{"__ignoreMap":90},[94,413,414],{"class":96,"line":97},[94,415,416],{"class":100},"# Статус службы\n",[94,418,419,421,424],{"class":96,"line":104},[94,420,61],{"class":107},[94,422,423],{"class":176}," status",[94,425,393],{"class":176},[94,427,428],{"class":96,"line":114},[94,429,118],{"emptyLinePlaceholder":117},[94,431,432],{"class":96,"line":121},[94,433,434],{"class":100},"# Включён ли сервис (автоматический запуск при загрузке)\n",[94,436,437,439,442],{"class":96,"line":127},[94,438,61],{"class":107},[94,440,441],{"class":176}," is-enabled",[94,443,393],{"class":176},[94,445,446],{"class":96,"line":209},[94,447,118],{"emptyLinePlaceholder":117},[94,449,450],{"class":96,"line":222},[94,451,452],{"class":100},"# Перезапустите при необходимости\n",[94,454,455,457,459],{"class":96,"line":227},[94,456,61],{"class":107},[94,458,390],{"class":176},[94,460,393],{"class":176},[21,462,463],{},"Если служба не запускается, выполните:",[85,465,467],{"className":87,"code":466,"language":89,"meta":90,"style":90},"journalctl -u cron -b\n",[36,468,469],{"__ignoreMap":90},[94,470,471,473,476,479],{"class":96,"line":97},[94,472,64],{"class":107},[94,474,475],{"class":110}," -u",[94,477,478],{"class":176}," cron",[94,480,481],{"class":110}," -b\n",[21,483,484,485,488,489,39],{},"и следуйте сообщениям об ошибках (часто это отсутствие зависимых пакетов, например ",[36,486,487],{},"cron"," или ",[36,490,491],{},"bsdmainutils",[16,493,495],{"id":494},"проверка-результата","Проверка результата",[21,497,498],{},"После выполнения шагов убедитесь, что задания снова работают:",[500,501,502,530,533],"ol",{},[32,503,504,505],{},"Проверьте журнал событий cron на наличие успешных выполнений:",[85,506,508],{"className":87,"code":507,"language":89,"meta":90,"style":90},"sudo grep \"COMMAND(exec)\" /var/log/syslog | tail -n 5\n",[36,509,510],{"__ignoreMap":90},[94,511,512,514,516,519,521,523,525,527],{"class":96,"line":97},[94,513,38],{"class":107},[94,515,287],{"class":176},[94,517,518],{"class":176}," \"COMMAND(exec)\"",[94,520,293],{"class":176},[94,522,296],{"class":172},[94,524,299],{"class":107},[94,526,302],{"class":110},[94,528,529],{"class":110}," 5\n",[32,531,532],{},"Если задание выполняется по расписанию, вы увидите новую запись с командой.",[32,534,535,536,539,540,543],{},"Для пользовательских заданий также можно проверить ",[36,537,538],{},"crontab -l"," и выполнить задание вручную (",[36,541,542],{},"/path/to/script.sh","), чтобы убедиться в корректности пути.",[16,545,547],{"id":546},"возможные-проблемы","Возможные проблемы",[549,550,551,567],"table",{},[552,553,554],"thead",{},[555,556,557,561,564],"tr",{},[558,559,560],"th",{},"Симптом",[558,562,563],{},"Вероятная причина",[558,565,566],{},"Решение",[568,569,570,585,606,621,647],"tbody",{},[555,571,572,576,579],{},[573,574,575],"td",{},"Задание не появляется в журнале событий",[573,577,578],{},"Неправильный синтаксис crontab или опечатка в пути",[573,580,581,582],{},"Проверьте синтаксис, используйте ",[36,583,584],{},"crontab -l > /tmp/check && sudo crontab /tmp/check",[555,586,587,592,595],{},[573,588,589,591],{},[36,590,487],{}," не запускается после обновления",[573,593,594],{},"Отсутствие зависимого пакета или повреждённая конфигурация",[573,596,597,598,601,602,605],{},"Выполните ",[36,599,600],{},"sudo apt-get install --reinstall cron"," (Debian/Ubuntu) или ",[36,603,604],{},"sudo yum reinstall cronie"," (RHEL/CentOS)",[555,607,608,611,614],{},[573,609,610],{},"Задание запускается с ошибкой доступа к файлу",[573,612,613],{},"Некорректный рабочий каталог или права на целевой файл",[573,615,616,617,620],{},"Убедитесь, что целевой файл доступен (",[36,618,619],{},"chmod 644 /path/to/file",") и укажите правильный рабочий каталог в задании",[555,622,623,626,637],{},[573,624,625],{},"Задание выполняется не по расписанию",[573,627,628,629,632,633,636],{},"Использование неправильных единиц времени (например, ",[36,630,631],{},"*/5"," вместо ",[36,634,635],{},"0 */5",")",[573,638,639,640,643,644],{},"Проверьте формат ",[36,641,642],{},"minute hour day month weekday"," с помощью ",[36,645,646],{},"man crontab",[555,648,649,652,655],{},[573,650,651],{},"Задание выполняется, но не выполняет ожидаемого действия",[573,653,654],{},"Ошибки в скрипте, скрытые от cron",[573,656,657,658,661,662,665],{},"Добавьте ",[36,659,660],{},"set -e"," в скрипте или проверьте ",[36,663,664],{},"stderr"," в журнале событий cron",[21,667,668,669,672],{},"Выполните описанные шаги и не забудьте перезапустить cron после каждого изменения. После этого большинство проблем с заданиями cron устраняются менее чем за 15 минут. Если проблема сохраняется, проверьте системный журнал (",[36,670,671],{},"journalctl -u cron",") на предмет дополнительных сообщений об ошибках.",[674,675,676],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":90,"searchDepth":104,"depth":104,"links":678},[679,680,681,688,689],{"id":18,"depth":104,"text":19},{"id":26,"depth":104,"text":27},{"id":74,"depth":104,"text":75,"children":682},[683,684,685,686,687],{"id":79,"depth":114,"text":80},{"id":148,"depth":114,"text":149},{"id":250,"depth":114,"text":251},{"id":338,"depth":114,"text":339},{"id":402,"depth":114,"text":403},{"id":494,"depth":104,"text":495},{"id":546,"depth":104,"text":547},null,"2026-07-20 10:37:05","Пошаговая инструкция по устранению распространённых проблем с заданиями cron в Linux. Узнайте, как быстро вернуть работу планировщика за 5 минут.","medium",false,"10-15 мин","md",[698,701,704,707],{"question":699,"answer":700},"Почему задание cron не выполняется, хотя расписание настроено правильно?","Проверьте права доступа к файлу crontab, наличие выполненного задания в `cron.log` и корректность пути к исполняемому файлу.",{"question":702,"answer":703},"Как временно отключить проблемное задание для диагностики?","Выполните `crontab -e` и закомментируйте строку задания или удалите её, затем перезапустите cron-сервис.",{"question":705,"answer":706},"Что делать, если cron-демон не запускается после обновления системы?","Проверьте статус службы (`systemctl status cron`), запустите её повторно (`systemctl restart cron`) и убедитесь, что зависимые пакеты установлены.",{"question":708,"answer":709},"Как проверить, какие задания выполняются в данный момент?","Используйте `systemctl status cron` или просмотрите системный журнал событий (`journalctl -u cron -f`) для отслеживания активности.",[711,714,717,720,723],{"name":712,"text":713},"Проверьте синтаксис файла crontab","Убедитесь, что записи в `crontab -l` имеют правильный формат: `* * * * * command`. Используйте `man crontab` для справки или онлайн‑валидатор.",{"name":715,"text":716},"Убедитесь в правильности прав доступа и владельца","Файлы crontab пользователя должны принадлежать этому пользователю (`crontab -l > /tmp/u.cron && sudo chown $USER:$USER /tmp/u.cron && crontab /tmp/u.cron`). В системных заданиях проверьте `/etc/crontab`.",{"name":718,"text":719},"Просмотрите системный и пользовательский журнал событий cron","Выполните `sudo grep CRON /var/log/syslog | tail -n 20` или `sudo tail -n 50 /var/log/cron.log`. Ищите сообщения об ошибках и коды завершения.",{"name":721,"text":722},"Временно отключите задание для тестирования","Откройте `crontab -e`, закомментируйте проблемную строку (добавьте `#` в начале) и перезапустите службу: `sudo systemctl restart cron`.",{"name":724,"text":725},"Проверьте конфигурацию cron-сервиса","Убедитесь, что `cron` включён (`systemctl is-enabled cron`), запущен (`systemctl is-active cron`) и работает без ошибок (`systemctl status cron`). Если служба не запускается, проверьте журналы (`journalctl -u cron`) на предмет отсутствия зависимых пакетов.","PT15M",[728,729,730,731,732,733,734,735],"проблемы cron","неисполнение заданий cron","отладка cron Linux","лог файл cron","коды завершения cron","права доступа cron","cron не работает Ubuntu","задание cron не запускается","ru_RU",{},"/guides/linux/cron-job-troubleshooting","linux",[741,742,743],"/guides/linux/systemd-troubleshooting","/guides/linux/log-analysis","/guides/linux/crontab-syntax","Гайды Linux",{"title":5,"description":692},"guides/linux/cron-job-troubleshooting","В руководстве описаны частые причины сбоев заданий cron и пошаговые действия для их устранения. После выполнения рекомендаций вы сможете быстро восстановить работу cron на вашем Linux-сервере.",[749,487,750,751,752,753],"Linux","troubleshooting","scheduler","планировщик","отладка","guide","u-Z2Kqbti28a_Aw9bU_1BIpHU7N4NnV0bIJUbViuvEQ",{"data":757,"body":758},{},{"type":759,"children":760},"root",[761],{"type":762,"tag":21,"props":763,"children":764},"element",{},[765,768,773],{"type":766,"value":767},"text","Проверьте права доступа к файлу crontab, наличие выполненного задания в ",{"type":762,"tag":36,"props":769,"children":771},{"className":770},[],[772],{"type":766,"value":269},{"type":766,"value":774}," и корректность пути к исполняемому файлу.",{"data":776,"body":777},{},{"type":759,"children":778},[779],{"type":762,"tag":21,"props":780,"children":781},{},[782,783,789],{"type":766,"value":597},{"type":762,"tag":36,"props":784,"children":786},{"className":785},[],[787],{"type":766,"value":788},"crontab -e",{"type":766,"value":790}," и закомментируйте строку задания или удалите её, затем перезапустите cron-сервис.",{"data":792,"body":793},{},{"type":759,"children":794},[795],{"type":762,"tag":21,"props":796,"children":797},{},[798,800,806,808,814],{"type":766,"value":799},"Проверьте статус службы (",{"type":762,"tag":36,"props":801,"children":803},{"className":802},[],[804],{"type":766,"value":805},"systemctl status cron",{"type":766,"value":807},"), запустите её повторно (",{"type":762,"tag":36,"props":809,"children":811},{"className":810},[],[812],{"type":766,"value":813},"systemctl restart cron",{"type":766,"value":815},") и убедитесь, что зависимые пакеты установлены.",{"data":817,"body":818},{},{"type":759,"children":819},[820],{"type":762,"tag":21,"props":821,"children":822},{},[823,825,830,832,838],{"type":766,"value":824},"Используйте ",{"type":762,"tag":36,"props":826,"children":828},{"className":827},[],[829],{"type":766,"value":805},{"type":766,"value":831}," или просмотрите системный журнал событий (",{"type":762,"tag":36,"props":833,"children":835},{"className":834},[],[836],{"type":766,"value":837},"journalctl -u cron -f",{"type":766,"value":839},") для отслеживания активности.",{"data":841,"body":842},{},{"type":759,"children":843},[844],{"type":762,"tag":21,"props":845,"children":846},{},[847,849,854,856,862,864,869],{"type":766,"value":848},"Убедитесь, что записи в ",{"type":762,"tag":36,"props":850,"children":852},{"className":851},[],[853],{"type":766,"value":538},{"type":766,"value":855}," имеют правильный формат: ",{"type":762,"tag":36,"props":857,"children":859},{"className":858},[],[860],{"type":766,"value":861},"* * * * * command",{"type":766,"value":863},". Используйте ",{"type":762,"tag":36,"props":865,"children":867},{"className":866},[],[868],{"type":766,"value":646},{"type":766,"value":870}," для справки или онлайн‑валидатор.",{"data":872,"body":873},{},{"type":759,"children":874},[875],{"type":762,"tag":21,"props":876,"children":877},{},[878,880,886,888,893],{"type":766,"value":879},"Файлы crontab пользователя должны принадлежать этому пользователю (",{"type":762,"tag":36,"props":881,"children":883},{"className":882},[],[884],{"type":766,"value":885},"crontab -l > /tmp/u.cron && sudo chown $USER:$USER /tmp/u.cron && crontab /tmp/u.cron",{"type":766,"value":887},"). В системных заданиях проверьте ",{"type":762,"tag":36,"props":889,"children":891},{"className":890},[],[892],{"type":766,"value":243},{"type":766,"value":71},{"data":895,"body":896},{},{"type":759,"children":897},[898],{"type":762,"tag":21,"props":899,"children":900},{},[901,902,908,909,915],{"type":766,"value":597},{"type":762,"tag":36,"props":903,"children":905},{"className":904},[],[906],{"type":766,"value":907},"sudo grep CRON /var/log/syslog | tail -n 20",{"type":766,"value":488},{"type":762,"tag":36,"props":910,"children":912},{"className":911},[],[913],{"type":766,"value":914},"sudo tail -n 50 /var/log/cron.log",{"type":766,"value":916},". Ищите сообщения об ошибках и коды завершения.",{"data":918,"body":919},{},{"type":759,"children":920},[921],{"type":762,"tag":21,"props":922,"children":923},{},[924,926,931,933,939,941,947],{"type":766,"value":925},"Откройте ",{"type":762,"tag":36,"props":927,"children":929},{"className":928},[],[930],{"type":766,"value":788},{"type":766,"value":932},", закомментируйте проблемную строку (добавьте ",{"type":762,"tag":36,"props":934,"children":936},{"className":935},[],[937],{"type":766,"value":938},"#",{"type":766,"value":940}," в начале) и перезапустите службу: ",{"type":762,"tag":36,"props":942,"children":944},{"className":943},[],[945],{"type":766,"value":946},"sudo systemctl restart cron",{"type":766,"value":71},{"data":949,"body":950},{},{"type":759,"children":951},[952],{"type":762,"tag":21,"props":953,"children":954},{},[955,957,962,964,970,972,978,980,985,987,992],{"type":766,"value":956},"Убедитесь, что ",{"type":762,"tag":36,"props":958,"children":960},{"className":959},[],[961],{"type":766,"value":487},{"type":766,"value":963}," включён (",{"type":762,"tag":36,"props":965,"children":967},{"className":966},[],[968],{"type":766,"value":969},"systemctl is-enabled cron",{"type":766,"value":971},"), запущен (",{"type":762,"tag":36,"props":973,"children":975},{"className":974},[],[976],{"type":766,"value":977},"systemctl is-active cron",{"type":766,"value":979},") и работает без ошибок (",{"type":762,"tag":36,"props":981,"children":983},{"className":982},[],[984],{"type":766,"value":805},{"type":766,"value":986},"). Если служба не запускается, проверьте журналы (",{"type":762,"tag":36,"props":988,"children":990},{"className":989},[],[991],{"type":766,"value":671},{"type":766,"value":993},") на предмет отсутствия зависимых пакетов.",[995],{"id":996,"title":997,"appliesTo":998,"author":11,"body":1004,"canonical":690,"code":690,"createdAt":2247,"description":2248,"difficulty":693,"draft":694,"estimatedTime":2249,"extension":696,"faq":2250,"howToSteps":2263,"howToTotalTime":2279,"image":690,"keywords":2280,"locale":736,"meta":2289,"navigation":117,"path":742,"platform":739,"related":2290,"section":744,"seo":2294,"severity":690,"stem":2295,"summary":2296,"tags":2297,"twitterCreator":690,"twitterSite":690,"type":754,"updatedAt":2247,"__hash__":2301},"content_ru/guides/linux/log-analysis.md","Анализ логов в Linux: от базовых команд до продвинутых инструментов",[999,1000,1001,1002,1003],"Ubuntu 20.04+","Debian 11+","CentOS 8+","Fedora 35+","Любой systemd-дистрибутив",{"type":13,"value":1005,"toc":2234},[1006,1010,1013,1042,1045,1049,1052,1088,1092,1101,1106,1245,1265,1269,1272,1337,1341,1349,1463,1465,1469,1474,1479,1520,1525,1613,1617,1622,1657,1662,1701,1706,1724,1729,1781,1786,1814,1818,1830,1969,1973,1976,2076,2078,2081,2123,2125,2147,2177,2202,2231],[16,1007,1009],{"id":1008},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,1011,1012],{},"Логи (log-файлы) — это главный источник информации о том, что происходит внутри Linux-системы. Они содержат записи о работе ядра, системных служб, установленных приложений и событиях безопасности. Умение быстро находить и анализировать логи позволяет:",[29,1014,1015,1021,1030,1036],{},[32,1016,1017,1020],{},[139,1018,1019],{},"Диагностировать сбои:"," Узнать, почему служба не запустилась, почему приложение упало.",[32,1022,1023,1026,1027,39],{},[139,1024,1025],{},"Отслеживать безопасность:"," Обнаружить подозрительные попытки входа (в ",[36,1028,1029],{},"auth.log",[32,1031,1032,1035],{},[139,1033,1034],{},"Мониторить производительность:"," Выявлять ошибки диска, проблемы с сетью.",[32,1037,1038,1041],{},[139,1039,1040],{},"Аудит действий:"," Видеть, что делал пользователь или система в определённый момент.",[21,1043,1044],{},"Этот гайд проведёт вас от простого просмотра логов до эффективного поиска по сложным критериям.",[16,1046,1048],{"id":1047},"требования-подготовка","Требования / Подготовка",[21,1050,1051],{},"Перед началом убедитесь, что:",[500,1053,1054,1057,1067,1077],{},[32,1055,1056],{},"У вас есть доступ к терминалу Linux (локально или по SSH).",[32,1058,1059,1060,1062,1063,1066],{},"Вы обладаете правами ",[139,1061,38],{}," (для просмотра всех логов systemd и файлов в ",[36,1064,1065],{},"/var/log/","). Без sudo вы увидите только свои логи.",[32,1068,1069,1070,1073,1074,71],{},"В системе используется ",[139,1071,1072],{},"systemd"," (подавляющее большинство современных дистрибутивов: Ubuntu, Debian, Fedora, CentOS/RHEL 8+). Проверить можно командой ",[36,1075,1076],{},"pidof systemd",[32,1078,1079,1080,58,1083,58,1086,71],{},"Базовое знакомство с командной строкой и командами ",[36,1081,1082],{},"cat",[36,1084,1085],{},"less",[36,1087,67],{},[16,1089,1091],{"id":1090},"шаг-1-просмотр-системного-журнала-с-journalctl","Шаг 1: Просмотр системного журнала с journalctl",[21,1093,1094,1096,1097,1100],{},[36,1095,64],{}," — это основной инструмент для работы с ",[139,1098,1099],{},"Centralized Logging"," systemd. Он читает бинарный журнал, который агрегирует логи со всех служб и ядра.",[21,1102,1103],{},[139,1104,1105],{},"Базовые команды:",[85,1107,1109],{"className":87,"code":1108,"language":89,"meta":90,"style":90},"# Просмотр всего журнала (сначала старые записи)\njournalctl\n\n# Просмотр с постраничным выводом (рекомендуется)\njournalctl | less\n\n# Слежение за логами в реальном времени (как tail -f)\njournalctl -f\n\n# Просмотр логов конкретной службы (unit)\njournalctl -u ssh.service\n\n# Просмотр логов за последние 2 часа\njournalctl --since 2h\n\n# Просмотр логов за сегодня\njournalctl --since today\n\n# Просмотр логов с определённого времени\njournalctl --since \"2026-02-15 09:00:00\" --until \"2026-02-15 10:00:00\"\n",[36,1110,1111,1116,1121,1125,1130,1139,1143,1148,1155,1159,1165,1175,1180,1186,1197,1202,1208,1218,1223,1229],{"__ignoreMap":90},[94,1112,1113],{"class":96,"line":97},[94,1114,1115],{"class":100},"# Просмотр всего журнала (сначала старые записи)\n",[94,1117,1118],{"class":96,"line":104},[94,1119,1120],{"class":107},"journalctl\n",[94,1122,1123],{"class":96,"line":114},[94,1124,118],{"emptyLinePlaceholder":117},[94,1126,1127],{"class":96,"line":121},[94,1128,1129],{"class":100},"# Просмотр с постраничным выводом (рекомендуется)\n",[94,1131,1132,1134,1136],{"class":96,"line":127},[94,1133,64],{"class":107},[94,1135,296],{"class":172},[94,1137,1138],{"class":107}," less\n",[94,1140,1141],{"class":96,"line":209},[94,1142,118],{"emptyLinePlaceholder":117},[94,1144,1145],{"class":96,"line":222},[94,1146,1147],{"class":100},"# Слежение за логами в реальном времени (как tail -f)\n",[94,1149,1150,1152],{"class":96,"line":227},[94,1151,64],{"class":107},[94,1153,1154],{"class":110}," -f\n",[94,1156,1157],{"class":96,"line":233},[94,1158,118],{"emptyLinePlaceholder":117},[94,1160,1162],{"class":96,"line":1161},10,[94,1163,1164],{"class":100},"# Просмотр логов конкретной службы (unit)\n",[94,1166,1168,1170,1172],{"class":96,"line":1167},11,[94,1169,64],{"class":107},[94,1171,475],{"class":110},[94,1173,1174],{"class":176}," ssh.service\n",[94,1176,1178],{"class":96,"line":1177},12,[94,1179,118],{"emptyLinePlaceholder":117},[94,1181,1183],{"class":96,"line":1182},13,[94,1184,1185],{"class":100},"# Просмотр логов за последние 2 часа\n",[94,1187,1189,1191,1194],{"class":96,"line":1188},14,[94,1190,64],{"class":107},[94,1192,1193],{"class":110}," --since",[94,1195,1196],{"class":176}," 2h\n",[94,1198,1200],{"class":96,"line":1199},15,[94,1201,118],{"emptyLinePlaceholder":117},[94,1203,1205],{"class":96,"line":1204},16,[94,1206,1207],{"class":100},"# Просмотр логов за сегодня\n",[94,1209,1211,1213,1215],{"class":96,"line":1210},17,[94,1212,64],{"class":107},[94,1214,1193],{"class":110},[94,1216,1217],{"class":176}," today\n",[94,1219,1221],{"class":96,"line":1220},18,[94,1222,118],{"emptyLinePlaceholder":117},[94,1224,1226],{"class":96,"line":1225},19,[94,1227,1228],{"class":100},"# Просмотр логов с определённого времени\n",[94,1230,1232,1234,1236,1239,1242],{"class":96,"line":1231},20,[94,1233,64],{"class":107},[94,1235,1193],{"class":110},[94,1237,1238],{"class":176}," \"2026-02-15 09:00:00\"",[94,1240,1241],{"class":110}," --until",[94,1243,1244],{"class":176}," \"2026-02-15 10:00:00\"\n",[21,1246,1247,1248,1251,1252,1255,1256,58,1259,58,1262,71],{},"Ключи ",[36,1249,1250],{},"--since"," и ",[36,1253,1254],{},"--until"," принимают множество форматов: ",[36,1257,1258],{},"YYYY-MM-DD HH:MM:SS",[36,1260,1261],{},"yesterday",[36,1263,1264],{},"1 hour ago",[16,1266,1268],{"id":1267},"шаг-2-фильтрация-по-уровню-важности-приоритету","Шаг 2: Фильтрация по уровню важности (приоритету)",[21,1270,1271],{},"Логи имеют уровни (facility) и приоритеты (priority). Чаще всего нужно искать ошибки.",[85,1273,1275],{"className":87,"code":1274,"language":89,"meta":90,"style":90},"# Показать только сообщения с уровнем ошибка (err) и выше (crit, alert, emerg)\njournalctl -p err\n\n# Тот же результат, но с явным указанием диапазона\njournalctl -p err..crit\n\n# Показать только предупреждения (warning)\njournalctl -p warning\n\n# Полный список уровней: emerg, alert, crit, err, warning, notice, info, debug.\n",[36,1276,1277,1282,1292,1296,1301,1310,1314,1319,1328,1332],{"__ignoreMap":90},[94,1278,1279],{"class":96,"line":97},[94,1280,1281],{"class":100},"# Показать только сообщения с уровнем ошибка (err) и выше (crit, alert, emerg)\n",[94,1283,1284,1286,1289],{"class":96,"line":104},[94,1285,64],{"class":107},[94,1287,1288],{"class":110}," -p",[94,1290,1291],{"class":176}," err\n",[94,1293,1294],{"class":96,"line":114},[94,1295,118],{"emptyLinePlaceholder":117},[94,1297,1298],{"class":96,"line":121},[94,1299,1300],{"class":100},"# Тот же результат, но с явным указанием диапазона\n",[94,1302,1303,1305,1307],{"class":96,"line":127},[94,1304,64],{"class":107},[94,1306,1288],{"class":110},[94,1308,1309],{"class":176}," err..crit\n",[94,1311,1312],{"class":96,"line":209},[94,1313,118],{"emptyLinePlaceholder":117},[94,1315,1316],{"class":96,"line":222},[94,1317,1318],{"class":100},"# Показать только предупреждения (warning)\n",[94,1320,1321,1323,1325],{"class":96,"line":227},[94,1322,64],{"class":107},[94,1324,1288],{"class":110},[94,1326,1327],{"class":176}," warning\n",[94,1329,1330],{"class":96,"line":233},[94,1331,118],{"emptyLinePlaceholder":117},[94,1333,1334],{"class":96,"line":1161},[94,1335,1336],{"class":100},"# Полный список уровней: emerg, alert, crit, err, warning, notice, info, debug.\n",[16,1338,1340],{"id":1339},"шаг-3-поиск-по-ключевым-словам-и-контексту","Шаг 3: Поиск по ключевым словам и контексту",[21,1342,1343,1344,1346,1347,71],{},"Команда ",[36,1345,64],{}," поддерживает встроенные фильтры, но часто удобнее использовать ",[36,1348,67],{},[85,1350,1352],{"className":87,"code":1351,"language":89,"meta":90,"style":90},"# Поиск упоминаний \"failed\" (регистрозависимый)\njournalctl | grep failed\n\n# Поиск без учёта регистра\njournalctl | grep -i timeout\n\n# Поиск строк, содержащих \"error\" или \"Exception\"\njournalctl | grep -E \"error|Exception\"\n\n# Показать 5 строк до и после совпадения (контекст)\njournalctl | grep -C 5 \"segmentation fault\"\n\n# Поиск в конкретном файле лога (не в journald)\ngrep -i \"authentication failure\" /var/log/auth.log\n",[36,1353,1354,1359,1370,1374,1379,1393,1397,1402,1416,1420,1425,1442,1446,1451],{"__ignoreMap":90},[94,1355,1356],{"class":96,"line":97},[94,1357,1358],{"class":100},"# Поиск упоминаний \"failed\" (регистрозависимый)\n",[94,1360,1361,1363,1365,1367],{"class":96,"line":104},[94,1362,64],{"class":107},[94,1364,296],{"class":172},[94,1366,287],{"class":107},[94,1368,1369],{"class":176}," failed\n",[94,1371,1372],{"class":96,"line":114},[94,1373,118],{"emptyLinePlaceholder":117},[94,1375,1376],{"class":96,"line":121},[94,1377,1378],{"class":100},"# Поиск без учёта регистра\n",[94,1380,1381,1383,1385,1387,1390],{"class":96,"line":127},[94,1382,64],{"class":107},[94,1384,296],{"class":172},[94,1386,287],{"class":107},[94,1388,1389],{"class":110}," -i",[94,1391,1392],{"class":176}," timeout\n",[94,1394,1395],{"class":96,"line":209},[94,1396,118],{"emptyLinePlaceholder":117},[94,1398,1399],{"class":96,"line":222},[94,1400,1401],{"class":100},"# Поиск строк, содержащих \"error\" или \"Exception\"\n",[94,1403,1404,1406,1408,1410,1413],{"class":96,"line":227},[94,1405,64],{"class":107},[94,1407,296],{"class":172},[94,1409,287],{"class":107},[94,1411,1412],{"class":110}," -E",[94,1414,1415],{"class":176}," \"error|Exception\"\n",[94,1417,1418],{"class":96,"line":233},[94,1419,118],{"emptyLinePlaceholder":117},[94,1421,1422],{"class":96,"line":1161},[94,1423,1424],{"class":100},"# Показать 5 строк до и после совпадения (контекст)\n",[94,1426,1427,1429,1431,1433,1436,1439],{"class":96,"line":1167},[94,1428,64],{"class":107},[94,1430,296],{"class":172},[94,1432,287],{"class":107},[94,1434,1435],{"class":110}," -C",[94,1437,1438],{"class":110}," 5",[94,1440,1441],{"class":176}," \"segmentation fault\"\n",[94,1443,1444],{"class":96,"line":1177},[94,1445,118],{"emptyLinePlaceholder":117},[94,1447,1448],{"class":96,"line":1182},[94,1449,1450],{"class":100},"# Поиск в конкретном файле лога (не в journald)\n",[94,1452,1453,1455,1457,1460],{"class":96,"line":1188},[94,1454,67],{"class":107},[94,1456,1389],{"class":110},[94,1458,1459],{"class":176}," \"authentication failure\"",[94,1461,1462],{"class":176}," /var/log/auth.log\n",[398,1464],{},[16,1466,1468],{"id":1467},"шаг-4-работа-с-классическими-лог-файлами-в-varlog","Шаг 4: Работа с классическими лог-файлами в /var/log/",[21,1470,1471,1472,71],{},"Не всё попадает в systemd journal. Многие приложения пишут в собственные текстовые файлы в ",[36,1473,1065],{},[21,1475,1476],{},[139,1477,1478],{},"Основные файлы:",[29,1480,1481,1489,1498,1504,1514],{},[32,1482,1483,488,1485,1488],{},[36,1484,257],{},[36,1486,1487],{},"/var/log/messages"," — общие системные сообщения.",[32,1490,1491,488,1494,1497],{},[36,1492,1493],{},"/var/log/auth.log",[36,1495,1496],{},"/var/log/secure"," — аутентификация, sudo, ssh.",[32,1499,1500,1503],{},[36,1501,1502],{},"/var/log/kern.log"," — логи ядра.",[32,1505,1506,1509,1510,1513],{},[36,1507,1508],{},"/var/log/dmesg"," — вывод ",[36,1511,1512],{},"dmesg"," на момент загрузки.",[32,1515,1516,1519],{},[36,1517,1518],{},"/var/log/apt/history.log"," — история установки пакетов (Debian/Ubuntu).",[21,1521,1522],{},[139,1523,1524],{},"Команды для работы:",[85,1526,1528],{"className":87,"code":1527,"language":89,"meta":90,"style":90},"# Просмотр последних 50 строк syslog\ntail -n 50 /var/log/syslog\n\n# Постоянный мониторинг файла\ntail -f /var/log/auth.log\n\n\n# Поиск в старом архивированном файле (например, syslog.1)\nzcat /var/log/syslog.1.gz | grep \"service started\"\n\n# Поиск по нескольким файлам\ngrep \"connection refused\" /var/log/nginx/error.log /var/log/syslog\n",[36,1529,1530,1535,1546,1550,1555,1564,1568,1572,1577,1592,1596,1601],{"__ignoreMap":90},[94,1531,1532],{"class":96,"line":97},[94,1533,1534],{"class":100},"# Просмотр последних 50 строк syslog\n",[94,1536,1537,1539,1541,1543],{"class":96,"line":104},[94,1538,70],{"class":107},[94,1540,302],{"class":110},[94,1542,325],{"class":110},[94,1544,1545],{"class":176}," /var/log/syslog\n",[94,1547,1548],{"class":96,"line":114},[94,1549,118],{"emptyLinePlaceholder":117},[94,1551,1552],{"class":96,"line":121},[94,1553,1554],{"class":100},"# Постоянный мониторинг файла\n",[94,1556,1557,1559,1562],{"class":96,"line":127},[94,1558,70],{"class":107},[94,1560,1561],{"class":110}," -f",[94,1563,1462],{"class":176},[94,1565,1566],{"class":96,"line":209},[94,1567,118],{"emptyLinePlaceholder":117},[94,1569,1570],{"class":96,"line":222},[94,1571,118],{"emptyLinePlaceholder":117},[94,1573,1574],{"class":96,"line":227},[94,1575,1576],{"class":100},"# Поиск в старом архивированном файле (например, syslog.1)\n",[94,1578,1579,1582,1585,1587,1589],{"class":96,"line":233},[94,1580,1581],{"class":107},"zcat",[94,1583,1584],{"class":176}," /var/log/syslog.1.gz",[94,1586,296],{"class":172},[94,1588,287],{"class":107},[94,1590,1591],{"class":176}," \"service started\"\n",[94,1593,1594],{"class":96,"line":1161},[94,1595,118],{"emptyLinePlaceholder":117},[94,1597,1598],{"class":96,"line":1167},[94,1599,1600],{"class":100},"# Поиск по нескольким файлам\n",[94,1602,1603,1605,1608,1611],{"class":96,"line":1177},[94,1604,67],{"class":107},[94,1606,1607],{"class":176}," \"connection refused\"",[94,1609,1610],{"class":176}," /var/log/nginx/error.log",[94,1612,1545],{"class":176},[16,1614,1616],{"id":1615},"шаг-5-анализ-логов-конкретных-служб-и-приложений","Шаг 5: Анализ логов конкретных служб и приложений",[21,1618,1619],{},[139,1620,1621],{},"SSH-подключения:",[85,1623,1625],{"className":87,"code":1624,"language":89,"meta":90,"style":90},"journalctl -u ssh.service\n# или\ngrep \"sshd\" /var/log/auth.log | tail -50\n",[36,1626,1627,1635,1640],{"__ignoreMap":90},[94,1628,1629,1631,1633],{"class":96,"line":97},[94,1630,64],{"class":107},[94,1632,475],{"class":110},[94,1634,1174],{"class":176},[94,1636,1637],{"class":96,"line":104},[94,1638,1639],{"class":100},"# или\n",[94,1641,1642,1644,1647,1650,1652,1654],{"class":96,"line":114},[94,1643,67],{"class":107},[94,1645,1646],{"class":176}," \"sshd\"",[94,1648,1649],{"class":176}," /var/log/auth.log",[94,1651,296],{"class":172},[94,1653,299],{"class":107},[94,1655,1656],{"class":110}," -50\n",[21,1658,1659],{},[139,1660,1661],{},"Nginx/Apache:",[85,1663,1665],{"className":87,"code":1664,"language":89,"meta":90,"style":90},"# Обычно логи в /var/log/nginx/ или /var/log/apache2/\ntail -f /var/log/nginx/error.log\ngrep \"404\" /var/log/nginx/access.log | wc -l  # количество 404 ошибок\n",[36,1666,1667,1672,1681],{"__ignoreMap":90},[94,1668,1669],{"class":96,"line":97},[94,1670,1671],{"class":100},"# Обычно логи в /var/log/nginx/ или /var/log/apache2/\n",[94,1673,1674,1676,1678],{"class":96,"line":104},[94,1675,70],{"class":107},[94,1677,1561],{"class":110},[94,1679,1680],{"class":176}," /var/log/nginx/error.log\n",[94,1682,1683,1685,1688,1691,1693,1696,1698],{"class":96,"line":114},[94,1684,67],{"class":107},[94,1686,1687],{"class":176}," \"404\"",[94,1689,1690],{"class":176}," /var/log/nginx/access.log",[94,1692,296],{"class":172},[94,1694,1695],{"class":107}," wc",[94,1697,169],{"class":110},[94,1699,1700],{"class":100},"  # количество 404 ошибок\n",[21,1702,1703],{},[139,1704,1705],{},"Cron (планировщик):",[85,1707,1709],{"className":87,"code":1708,"language":89,"meta":90,"style":90},"# Логи cron обычно в syslog или в отдельном файле\ngrep CRON /var/log/syslog\n",[36,1710,1711,1716],{"__ignoreMap":90},[94,1712,1713],{"class":96,"line":97},[94,1714,1715],{"class":100},"# Логи cron обычно в syslog или в отдельном файле\n",[94,1717,1718,1720,1722],{"class":96,"line":104},[94,1719,67],{"class":107},[94,1721,290],{"class":176},[94,1723,1545],{"class":176},[21,1725,1726],{},[139,1727,1728],{},"Упавшие службы (systemd):",[85,1730,1732],{"className":87,"code":1731,"language":89,"meta":90,"style":90},"# Посмотреть статус и последние логи службы\nsystemctl status \u003Cservice_name>\njournalctl -u \u003Cservice_name> --since \"5 min ago\" -p err\n",[36,1733,1734,1739,1757],{"__ignoreMap":90},[94,1735,1736],{"class":96,"line":97},[94,1737,1738],{"class":100},"# Посмотреть статус и последние логи службы\n",[94,1740,1741,1743,1745,1748,1751,1754],{"class":96,"line":104},[94,1742,61],{"class":107},[94,1744,423],{"class":176},[94,1746,1747],{"class":172}," \u003C",[94,1749,1750],{"class":176},"service_nam",[94,1752,1753],{"class":196},"e",[94,1755,1756],{"class":172},">\n",[94,1758,1759,1761,1763,1765,1767,1769,1772,1774,1777,1779],{"class":96,"line":114},[94,1760,64],{"class":107},[94,1762,475],{"class":110},[94,1764,1747],{"class":172},[94,1766,1750],{"class":176},[94,1768,1753],{"class":196},[94,1770,1771],{"class":172},">",[94,1773,1193],{"class":110},[94,1775,1776],{"class":176}," \"5 min ago\"",[94,1778,1288],{"class":110},[94,1780,1291],{"class":176},[21,1782,1783],{},[139,1784,1785],{},"Критические ошибки ядра (dmesg):",[85,1787,1789],{"className":87,"code":1788,"language":89,"meta":90,"style":90},"dmesg | tail -50\ndmesg | grep -i \"memory\\|error\\|fail\"\n",[36,1790,1791,1801],{"__ignoreMap":90},[94,1792,1793,1795,1797,1799],{"class":96,"line":97},[94,1794,1512],{"class":107},[94,1796,296],{"class":172},[94,1798,299],{"class":107},[94,1800,1656],{"class":110},[94,1802,1803,1805,1807,1809,1811],{"class":96,"line":104},[94,1804,1512],{"class":107},[94,1806,296],{"class":172},[94,1808,287],{"class":107},[94,1810,1389],{"class":110},[94,1812,1813],{"class":176}," \"memory\\|error\\|fail\"\n",[16,1815,1817],{"id":1816},"шаг-6-продвинутый-анализ-статистика-и-агрегация","Шаг 6: Продвинутый анализ: статистика и агрегация",[21,1819,1820,1821,1825,1826,1829],{},"Часто нужно понять не просто ",[1822,1823,1824],"em",{},"что"," произошло, а ",[1822,1827,1828],{},"какие"," события самые частые.",[85,1831,1833],{"className":87,"code":1832,"language":89,"meta":90,"style":90},"# Топ-10 источников логов (по PID/имени) в journalctl за последний час\njournalctl --since 1h --no-pager | awk '{print $5}' | sort | uniq -c | sort -nr | head -10\n\n# Количество ошибок по типам (пример для syslog)\ngrep -o -E \"error|fail|exception\" /var/log/syslog | sort | uniq -c | sort -nr\n\n# Поиск всех попыток brute-force в ssh (много неудачных логинов)\ngrep \"Failed password\" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr\n",[36,1834,1835,1840,1888,1892,1897,1928,1932,1937],{"__ignoreMap":90},[94,1836,1837],{"class":96,"line":97},[94,1838,1839],{"class":100},"# Топ-10 источников логов (по PID/имени) в journalctl за последний час\n",[94,1841,1842,1844,1846,1849,1852,1854,1857,1860,1862,1865,1867,1870,1873,1875,1877,1880,1882,1885],{"class":96,"line":104},[94,1843,64],{"class":107},[94,1845,1193],{"class":110},[94,1847,1848],{"class":176}," 1h",[94,1850,1851],{"class":110}," --no-pager",[94,1853,296],{"class":172},[94,1855,1856],{"class":107}," awk",[94,1858,1859],{"class":176}," '{print $5}'",[94,1861,296],{"class":172},[94,1863,1864],{"class":107}," sort",[94,1866,296],{"class":172},[94,1868,1869],{"class":107}," uniq",[94,1871,1872],{"class":110}," -c",[94,1874,296],{"class":172},[94,1876,1864],{"class":107},[94,1878,1879],{"class":110}," -nr",[94,1881,296],{"class":172},[94,1883,1884],{"class":107}," head",[94,1886,1887],{"class":110}," -10\n",[94,1889,1890],{"class":96,"line":114},[94,1891,118],{"emptyLinePlaceholder":117},[94,1893,1894],{"class":96,"line":121},[94,1895,1896],{"class":100},"# Количество ошибок по типам (пример для syslog)\n",[94,1898,1899,1901,1904,1906,1909,1911,1913,1915,1917,1919,1921,1923,1925],{"class":96,"line":127},[94,1900,67],{"class":107},[94,1902,1903],{"class":110}," -o",[94,1905,1412],{"class":110},[94,1907,1908],{"class":176}," \"error|fail|exception\"",[94,1910,293],{"class":176},[94,1912,296],{"class":172},[94,1914,1864],{"class":107},[94,1916,296],{"class":172},[94,1918,1869],{"class":107},[94,1920,1872],{"class":110},[94,1922,296],{"class":172},[94,1924,1864],{"class":107},[94,1926,1927],{"class":110}," -nr\n",[94,1929,1930],{"class":96,"line":209},[94,1931,118],{"emptyLinePlaceholder":117},[94,1933,1934],{"class":96,"line":222},[94,1935,1936],{"class":100},"# Поиск всех попыток brute-force в ssh (много неудачных логинов)\n",[94,1938,1939,1941,1944,1946,1948,1950,1953,1955,1957,1959,1961,1963,1965,1967],{"class":96,"line":227},[94,1940,67],{"class":107},[94,1942,1943],{"class":176}," \"Failed password\"",[94,1945,1649],{"class":176},[94,1947,296],{"class":172},[94,1949,1856],{"class":107},[94,1951,1952],{"class":176}," '{print $11}'",[94,1954,296],{"class":172},[94,1956,1864],{"class":107},[94,1958,296],{"class":172},[94,1960,1869],{"class":107},[94,1962,1872],{"class":110},[94,1964,296],{"class":172},[94,1966,1864],{"class":107},[94,1968,1927],{"class":110},[16,1970,1972],{"id":1971},"шаг-7-сохранение-и-экспорт-логов-для-глубокого-анализа","Шаг 7: Сохранение и экспорт логов для глубокого анализа",[21,1974,1975],{},"Если нужно отправить логи разработчику или проанализировать в другом инструменте:",[85,1977,1979],{"className":87,"code":1978,"language":89,"meta":90,"style":90},"# Экспорт журнала systemd за последние сутки в текстовый файл\njournalctl --since yesterday > /tmp/journal_$(date +%F).txt\n\n# Экспорт с ограничением по размеру (например, 50 МБ)\njournalctl --since \"1 day ago\" --output=short-monotonic > /tmp/last_day.log\n\n# Создание сжатого архива логов из /var/log/ (требует sudo)\nsudo tar -czf /tmp/logs_archive_$(date +%F).tar.gz /var/log/\n",[36,1980,1981,1986,2014,2018,2023,2040,2044,2049],{"__ignoreMap":90},[94,1982,1983],{"class":96,"line":97},[94,1984,1985],{"class":100},"# Экспорт журнала systemd за последние сутки в текстовый файл\n",[94,1987,1988,1990,1992,1995,1997,2000,2003,2006,2009,2011],{"class":96,"line":104},[94,1989,64],{"class":107},[94,1991,1193],{"class":110},[94,1993,1994],{"class":176}," yesterday",[94,1996,173],{"class":172},[94,1998,1999],{"class":176}," /tmp/journal_",[94,2001,2002],{"class":196},"$(",[94,2004,2005],{"class":107},"date",[94,2007,2008],{"class":176}," +%F",[94,2010,636],{"class":196},[94,2012,2013],{"class":176},".txt\n",[94,2015,2016],{"class":96,"line":114},[94,2017,118],{"emptyLinePlaceholder":117},[94,2019,2020],{"class":96,"line":121},[94,2021,2022],{"class":100},"# Экспорт с ограничением по размеру (например, 50 МБ)\n",[94,2024,2025,2027,2029,2032,2035,2037],{"class":96,"line":127},[94,2026,64],{"class":107},[94,2028,1193],{"class":110},[94,2030,2031],{"class":176}," \"1 day ago\"",[94,2033,2034],{"class":110}," --output=short-monotonic",[94,2036,173],{"class":172},[94,2038,2039],{"class":176}," /tmp/last_day.log\n",[94,2041,2042],{"class":96,"line":209},[94,2043,118],{"emptyLinePlaceholder":117},[94,2045,2046],{"class":96,"line":222},[94,2047,2048],{"class":100},"# Создание сжатого архива логов из /var/log/ (требует sudo)\n",[94,2050,2051,2053,2056,2059,2062,2064,2066,2068,2070,2073],{"class":96,"line":227},[94,2052,38],{"class":107},[94,2054,2055],{"class":176}," tar",[94,2057,2058],{"class":110}," -czf",[94,2060,2061],{"class":176}," /tmp/logs_archive_",[94,2063,2002],{"class":196},[94,2065,2005],{"class":107},[94,2067,2008],{"class":176},[94,2069,636],{"class":196},[94,2071,2072],{"class":176},".tar.gz",[94,2074,2075],{"class":176}," /var/log/\n",[16,2077,495],{"id":494},[21,2079,2080],{},"Вы успешно освоили анализ логов, если можете:",[500,2082,2083,2093,2102,2117],{},[32,2084,2085,2088,2089,2092],{},[139,2086,2087],{},"Быстро найти причину падения службы:"," ",[36,2090,2091],{},"journalctl -u \u003Cservice> -p err --since \"10 min ago\""," показал ошибку.",[32,2094,2095,2088,2098,2101],{},[139,2096,2097],{},"Отследить подозрительную активность:",[36,2099,2100],{},"grep \"Failed password\" /var/log/auth.log"," выявил IP-адрес атакователя.",[32,2103,2104,2088,2107,2110,2111,488,2114,71],{},[139,2105,2106],{},"Увидеть, что загрузило систему:",[36,2108,2109],{},"journalctl -b"," (логи текущей загрузки) и поиск по ",[36,2112,2113],{},"kworker",[36,2115,2116],{},"oom-killer",[32,2118,2119,2122],{},[139,2120,2121],{},"Сформировать отчёт:"," Экспортировали логи за определённый период в файл.",[16,2124,547],{"id":546},[21,2126,2127,2088,2130,2132,2133,2136,2137,2140,2141,2144,2145,71],{},[139,2128,2129],{},"Проблема:",[36,2131,64],{}," выводит \"No journal files were found.\"\n",[139,2134,2135],{},"Решение:"," Служба ",[36,2138,2139],{},"systemd-journald"," не работает или журнал отключён. Проверьте ",[36,2142,2143],{},"systemctl status systemd-journald",". Возможно, логи пишутся только в ",[36,2146,1065],{},[21,2148,2149,2088,2151,2154,2155,488,2157,2159,2160,2162,2163,2165,2166,2168,2169,2172,2173,2176],{},[139,2150,2129],{},[36,2152,2153],{},"Permission denied"," при чтении ",[36,2156,1065],{},[36,2158,64],{},".\n",[139,2161,2135],{}," Запускайте команды с ",[36,2164,38],{}," или от имени root. Для ",[36,2167,64],{}," можно добавить пользователя в группу ",[36,2170,2171],{},"systemd-journal"," (",[36,2174,2175],{},"sudo usermod -aG systemd-journal $USER","), но это даёт доступ ко всем логам.",[21,2178,2179,2181,2182,2185,2186,2188,2189,2191,2192,2195,2196,2198,2199,71],{},[139,2180,2129],{}," Логи ротируются (переименовываются в ",[36,2183,2184],{},".gz","), а ",[36,2187,67],{}," не находит старые записи.\n",[139,2190,2135],{}," Используйте ",[36,2193,2194],{},"zgrep"," для сжатых файлов или разверните их ",[36,2197,1581],{},"/",[36,2200,2201],{},"gunzip -c",[21,2203,2204,2206,2207,2209,2210,2213,2214,2217,2218,488,2221,2224,2225,632,2228,39],{},[139,2205,2129],{}," Слишком много логов, ничего не разобрать.\n",[139,2208,2135],{}," 1. Ужесточите фильтрацию (",[36,2211,2212],{},"-p err",", конкретная служба, конкретное время). 2. Используйте ",[36,2215,2216],{},"--no-pager"," для вывода в stdout и перенаправьте в файл для анализа в редакторе. 3. Ищите уникальные ",[36,2219,2220],{},"PID",[36,2222,2223],{},"UID"," и анализируйте логи только от них. 4. Настройте более гранулярное логирование в конфигурации приложения (например, ",[36,2226,2227],{},"loglevel = WARN",[36,2229,2230],{},"DEBUG",[674,2232,2233],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":90,"searchDepth":104,"depth":104,"links":2235},[2236,2237,2238,2239,2240,2241,2242,2243,2244,2245,2246],{"id":1008,"depth":104,"text":1009},{"id":1047,"depth":104,"text":1048},{"id":1090,"depth":104,"text":1091},{"id":1267,"depth":104,"text":1268},{"id":1339,"depth":104,"text":1340},{"id":1467,"depth":104,"text":1468},{"id":1615,"depth":104,"text":1616},{"id":1816,"depth":104,"text":1817},{"id":1971,"depth":104,"text":1972},{"id":494,"depth":104,"text":495},{"id":546,"depth":104,"text":547},"2026-02-16 13:46:51","Полное руководство по работе с логами в Linux. Узнайте, как использовать journalctl, grep и другие инструменты для диагностики проблем. Пошаговые инструкции с примерами.","15-20 мин",[2251,2254,2257,2260],{"question":2252,"answer":2253},"В чём разница между journalctl и чтением файлов в /var/log?","`journalctl` работает с бинарным журналом systemd (journal), который собирает логи со всех служб и ядра, поддерживает фильтрацию по времени, службе, приоритету. Файлы в `/var/log` — часто текстовые логи отдельных приложений (например, nginx, Apache). Для полной картины используйте оба подхода.",{"question":2255,"answer":2256},"Как искать в логах за определённый период времени?","С помощью флагов `--since` и `--until` у `journalctl`. Пример: `journalctl --since \"2024-01-15 09:00:00\" --until \"2024-01-15 10:30:00\"`. Также можно использовать относительные значения: `--since 2h ago`.",{"question":2258,"answer":2259},"Что делать, если логи в /var/log/ заполнили весь диск?","1. Очистить старые логи через `journalctl --vacuum-time=3d` (оставить за 3 дня). 2. Настроить ротацию логов в `/etc/systemd/journald.conf` (параметры `SystemMaxUse`, `MaxRetentionSec`). 3. Вручную удалить старые файлы в `/var/log/`, но осторожно.",{"question":2261,"answer":2262},"Где искать логи Docker-контейнеров?","Логи контейнеров по умолчанию не попадают в systemd journal. Используйте `docker logs \u003Ccontainer_name>`. Для сбора всех логов в один поток настройте драйвер логирования Docker (например, `json-file` или `journald`).",[2264,2267,2270,2273,2276],{"name":2265,"text":2266},"Определите источник лога","Поймите, чьи логи вам нужны: система (systemd), конкретная служба (nginx, ssh), приложение или ядро. Это определит команду и путь.",{"name":2268,"text":2269},"Используйте journalctl для системных логов","Для просмотра всего журнала systemd выполните `journalctl`. Добавьте `-f` для слежения в реальном времени или `-u \u003Cunit>` для логов конкретной службы.",{"name":2271,"text":2272},"Фильтруйте логи по ключевым словам и приоритетам","Применяйте `grep` к выводу journalctl: `journalctl | grep -i error`. Или используйте встроенные фильтры: `journalctl -p err..crit` (ошибки и критические).",{"name":2274,"text":2275},"Анализируйте логи приложений в /var/log/","Изучите содержимое текстовых файлов в `/var/log/` (например, `/var/log/syslog`, `/var/log/auth.log`). Используйте `tail -f /var/log/syslog` для мониторинга.",{"name":2277,"text":2278},"Используйте мощные инструменты для сложного анализа","Для агрегации и поиска по шаблонам примените `awk`, `sed` или конвейеры. Пример: `journalctl --since today | awk '{print $5}' | sort | uniq -c` (популярные источники логов за сегодня).","PT20M",[2281,2282,2283,2284,2285,2286,2287,2288],"анализ логов linux","как читать логи в linux","journalctl команды примеры","поиск ошибок в логах linux","мониторинг логов в реальном времени","логи systemd journal","grep для анализа логов","где находятся логи приложений linux",{},[2291,2292,2293],"/guides/linux/systemd-service-management","/guides/linux/ssh-troubleshooting","/errors/linux/ssh-connection-refused",{"title":997,"description":2248},"guides/linux/log-analysis","Этот гайд научит вас эффективно находить, читать и анализировать системные и прикладные логи в Linux. Вы освоите ключевые команды для быстрой диагностики ошибок и мониторинга работы системы.",[739,2298,2299,64,67,1072,2300],"logs","sysadmin","debugging","J_8H87RSSGo9gn8jnwLj3QBpmqInf9gm1SFRRjasMmg"]