Яндекс.Метрика

Bash скрипты

Bash-скрипты — это набор команд, записанных в текстовом файле.
Когда баш-скрипт запускается, команды, записанные в нём, начинают последовательно выполняться.

📌 Зачем нужны bash-скрипты?

  • Автоматизация рутины: Вы можете автоматизировать часто повторяющиеся действия.
  • Упрощение рабочих процессов: Запуск одного скрипта вместо набора команд вручную.
  • Управление системными задачами: Скрипты часто используют для бэкапов, мониторинга и сборки проектов.

📌 Создание простого bash скрипта:

  1. Откройте терминал и выполните команду: vim script.sh
  2. Вставьте следующий код в файл:
    #!/bin/bash
    echo "Hello, World!"
    • #!/bin/bash – это так называемая шебанг-строка, которая указывает, какой интерпретатор следует использовать для выполнения команд (в данном случае Bash).
    • echo "Hello, World!" – команда, которая выводит текст в терминал.
  3. Сохраните файл и сделайте его исполняемым: chmod +x script.sh. Эта команда даёт разрешение на исполнение (запуск) файла.
  4. Запустите скрипт: ./script.sh.
    В результате вы увидите в терминале Hello, World!.

📌 Более сложный пример:


#!/bin/bash

SOURCE="$HOME/Desktop"
BACKUP_DIR="$HOME/backups"
DATE=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_FILE="$BACKUP_DIR/backup_$DATE.tar.gz"          
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_FILE $SOURCE
                
echo "Резервная копия создана: $BACKUP_FILE"

Этот скрипт архивирует указанный каталог ("$HOME/Desktop") и сохраняет бэкап в "$HOME/backups".

Разбор строк

  • #!/bin/bash – указывает, что скрипт должен выполняться в оболочке Bash.
  • SOURCE="$HOME/Desktop" – переменная, которая содержит путь к каталогу, который будем архивировать.
  • BACKUP_DIR="$HOME/backups" – куда будем сохранять бэкапы.
  • DATE=$(date +%Y-%m-%d_%H-%M-%S) – текущая дата и время (чтобы файлы не перезаписывались).
  • BACKUP_FILE="$BACKUP_DIR/backup_$DATE.tar.gz" – путь к файлу резервной копии.
  • mkdir -p $BACKUP_DIR – создаёт папку для бэкапов, если её нет.
  • tar -czf $BACKUP_FILE $SOURCE – создаёт архив с содержимым папки.
  • echo "Резервная копия создана: $BACKUP_FILE" – выводит сообщение о создании бэкапа.

Выполните этот скрипт и проверьте, что архив появился.

В баш скриптах вы также можете использовать переменные, условия, циклы, функции, получать ввод от пользователя, собственно как и в любом другом языке программирования.
Этот инструмент поможет вам автоматизировать многие рутинные задачи в системе.


Задачи

  1. Создать Bash-скрипт, который собирает информацию о системе: загрузку процессора, оперативной памяти, использование диска и активных пользователей и сохраняет это в файл.
  2. Напишите Bash-скрипт, который будет принимать ввод имени пользователя и отдавать в ответ всю информацию о нём (последний вход, запущенные им процессы и есть ли он в sudoers), а также выводить "Does not exist", если указанного пользователя в системе нет.