>_ IzzyLab

Практическое задание

Крон не запускается

легко

Задача бэкапа должна идти по крону, но не выполняется. В crontab есть строка с /usr/local/bin/backup.sh, но сам скрипт не исполняемый. Найди причину и почини так, чтобы скрипт стал исполняемым.

Что потренируешь:
  • права доступа
  • бит выполнения
  • cron
  • chmod
  • диагностика

Разбор темы

Чтобы ядро могло сделать exec() над файлом, у файла должен быть выставлен бит выполнения (x) — без него cron честно попытается запустить скрипт и получит Permission denied, даже если сама crontab-строка идеальна. Диагностику «крон молчит» ведут по фактам: есть ли задача (crontab -l), пытался ли cron её запускать (логи), и в каком состоянии сам файл (ls -l). Правится это сменой режима файла соответствующим инструментом; отсутствие shebang и бедный PATH внутри cron — другие частые причины, но здесь дело именно в правах.

Что проверяется

  1. Скрипт исполняемый
  2. Крон-задача на месте

Как это выглядит