hostprofi.ru
Подобрать хостинг
Термин·буква C

Crontab

краткое определение

Bash (Bourne Again SHell) — командный интерпретатор и скриптовый язык для Unix-систем. Оболочка по умолчанию в большинстве Linux-дистрибутивов; используется для автоматизации задач администрирования.

Bash (Bourne Again SHell) — командная оболочка (shell) и язык сценариев для Unix-систем. Принимает команды пользователя, передаёт их ядру и возвращает результат. Является оболочкой по умолчанию в Ubuntu, Debian, CentOS и большинстве других Linux-дистрибутивов, а также в macOS (до Catalina, где уступил место Zsh).

Как работает

Bash — интерпретатор: читает и выполняет команды строка за строкой. В интерактивном режиме принимает ввод с терминала. В режиме скрипта — из файла (.sh). Каждая команда — отдельный процесс, запускаемый через системный вызов fork() + exec(). Встроенные команды (cd, echo, export) выполняются внутри текущего процесса без форка.

Bash поддерживает: переменные и массивы, условные конструкции (if/elif/else, case), циклы (for, while, until), функции, редиректы (>, >>, 2>&1), пайпы (|), подстановку команд ($(command)), регулярные выражения через =~. Позиционные параметры $1, $2 — аргументы скрипта.

Переменные окружения (PATH, HOME, USER) передаются дочерним процессам через export. Конфигурационные файлы: ~/.bashrc (интерактивные оболочки), ~/.bash_profile (login-оболочки).

История

Bash создан Брайаном Фоксом (Brian Fox) в 1989 году для проекта GNU как свободная замена sh (Bourne Shell, 1979). Первый релиз — 8 июня 1989 года. Позже разработку принял Чет Рэми (Chet Ramey), который ведёт её по сей день. Bash 5.0 вышел в 2019 году; Bash 5.2 — в 2022 году. В 2014 году обнаружена критическая уязвимость Shellshock (CVE-2014-6271) — выполнение произвольного кода через переменные окружения.

На что обращать внимание

Bash-скрипты — основа системного администрирования: резервное копирование, ротация логов, мониторинг, деплой. Для сложной автоматизации Bash уступает Python: нет нативных структур данных (hash, список объектов), слабая работа с JSON, отсутствие нормальной обработки ошибок. Рекомендуется писать на Bash задачи до 50–100 строк; более сложную логику — на Python.

Типичные ошибки: пробелы в именах переменных ($var vs ${var}), отсутствие кавычек ("$var" vs $var — пробелы ломают скрипт), игнорирование кодов возврата (set -e — завершить при ошибке). ShellCheck — статический анализатор для Bash-скриптов, находит типичные ошибки.

Crontab в хостинге

Crontab — стандартный инструмент автоматизации на Linux-серверах. Редактирование: crontab -e — открывает текущее расписание пользователя. Системный crontab: /etc/cron.d/ и /etc/crontab. Типичные задачи на VPS: резервное копирование БД (MySQL dump в 3:00), очистка временных файлов, обновление Let's Encrypt сертификатов (Certbot добавляет задачу автоматически), отправка отчётов на почту. PHP-скрипты из cron запускайте через php /path/to/script.php, Python — через /usr/bin/python3 с полным путём. Вывод cron-задачи в лог: добавьте >> /var/log/cron.log 2>&1 в конце строки.

Другие термины