Signal Visionary Xperience
  • Забыли пароль?
  • Забыли логин?
  1. Вы здесь:  
  2. Главная
  3. Uncategorised

Подробное объяснение функции логирования `log()`

Этот документ подробно объясняет функцию логирования `log()`, используемую в bash скриптах для ведения журнала работы скрипта.

Информация о материале
Просмотров: 70

Подробнее: Подробное объяснение функции логирования `log()`

Перемещение файлов в архивную папку

Этот скрипт перемещает файлы из исходной директории в архивную папку, вместо их удаления. Это позволяет сохранить копию файлов на случай необходимости восстановления.

Скрипт

#!/bin/bash

  # Определение параметров
  SOURCE_DIRECTORY="/path/to/source/directory"
  ARCHIVE_DIRECTORY="/path/to/archive/directory"
  PATTERN="*.txt"  # Шаблон файлов для перемещения

  # Проверка существования директорий
  if [ ! -d "$SOURCE_DIRECTORY" ]; then
    echo "Ошибка: Исходная директория '$SOURCE_DIRECTORY' не существует."
    exit 1
  fi

  if [ ! -d "$ARCHIVE_DIRECTORY" ]; then
    echo "Ошибка: Архивную директорию '$ARCHIVE_DIRECTORY' не существует."
    exit 1
  fi

  # Получение текущей даты для имени поддиректории в архиве
  ARCHIVE_DATE=$(date +%Y%m%d)
  ARCHIVE_PATH="$ARCHIVE_DIRECTORY/$ARCHIVE_DATE"

  # Создание поддиректории в архивной папке с текущей датой
  mkdir -p "$ARCHIVE_PATH"

  # Перемещение файлов в архивную директорию
  find "$SOURCE_DIRECTORY" -name "$PATTERN" -print0 | while IFS= read -r -d $'\0' file; do
    echo "Перемещение: $file -> $ARCHIVE_PATH"
    mv -f "$file" "$ARCHIVE_PATH"
  done

  echo "Перемещение файлов завершено."
  

Объяснение кода:

  • `SOURCE_DIRECTORY="/path/to/source/directory"`, `ARCHIVE_DIRECTORY="/path/to/archive/directory"`, `PATTERN="*.txt"`: Определение исходной директории, директории архива и шаблона файлов. **Обязательно замените "/path/to/source/directory" и "/path/to/archive/directory" на реальные пути.**
  • `if [ ! -d "$SOURCE_DIRECTORY" ]; then ... fi`: Проверка существования исходной директории.
  • `if [ ! -d "$ARCHIVE_DIRECTORY" ]; then ... fi`: Проверка существования директории архива.
  • `ARCHIVE_DATE=$(date +%Y%m%d)`: Получение текущей даты в формате ГГГГММДД.
  • `ARCHIVE_PATH="$ARCHIVE_DIRECTORY/$ARCHIVE_DATE"`: Формирование пути к поддиректории в архиве.
  • `mkdir -p "$ARCHIVE_PATH"`: Создание поддиректории в архиве с текущей датой. Флаг `-p` создает все необходимые родительские директории.
  • `find "$SOURCE_DIRECTORY" -name "$PATTERN" -print0 | while IFS= read -r -d $'\0' file; do ... done`: Цикл по каждому найденному файлу.
  • `echo "Перемещение: $file -> $ARCHIVE_PATH"`: Вывод информации о перемещении файла.
  • `mv -f "$file" "$ARCHIVE_PATH"`: Перемещение файла в архивную директорию. Флаг `-f` заставляет перезаписать существующие файлы в архиве. **Будьте осторожны при использовании `-f`, так как это может привести к потере данных.**
  • `echo "Перемещение файлов завершено."`: Сообщение об окончании работы скрипта.

Использование скрипта

Для запуска скрипта выполните:

./your_script_name.sh

Перед запуском скрипта замените placeholders для исходной и архивной директорий на актуальные.

Дополнительные соображения

  • Резервное копирование: Этот скрипт выполняет не полное резервное копирование, а только перемещает файлы по определенному шаблону. Рекомендуется использовать специализированные инструменты для резервного копирования.
  • Перезапись файлов: Скрипт перезаписывает файлы с одинаковыми именами в архивной директории. Если вам нужно сохранять историю версий, можно использовать другие методы, например, создание архивов с разными именами на основе текущей даты и времени.
  • Проверка на ошибки: Добавьте логирование и обработку ошибок, чтобы скрипт был более надежным.
  • Более сложные сценарии: Можно добавить опции для интерактивного выбора файлов для перемещения, исключения определенных файлов или директорий, а также другие настройки.
Информация о материале
Просмотров: 56

Подтверждение удаления файлов в bash скрипте

Этот скрипт демонстрирует, как запросить подтверждение пользователя перед удалением каждого файла, найденного в указанной директории.

Информация о материале
Просмотров: 63

Подробнее: Подтверждение удаления файлов в bash скрипте

Передача параметров командной строки в скрипт очистки файлов

Передача параметров через командную строку делает скрипт более гибким и переносимым. Это позволяет запускать скрипт с разными аргументами, не изменяя сам скрипт.

Информация о материале
Просмотров: 83

Подробнее: Передача параметров командной строки в скрипт очистки файлов

Страница 2 из 6

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Главное меню

  • Главная страница
    • Docker
    • Обслуживание GNU\Linux
      • DMR и GNU/Linux
    • Операторы связи
  • Соглашение
    • Спам
  • О проекте

Нужна надёжная техническая поддержка или разработка сайта?

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

  • Настройка серверов (Windows Server, Linux, KMS, Nextcloud)
  • Работа с сетевым оборудованием (Fibocom, роутеры, VPN)
  • Развёртывание серверов цифровой радиосвязи DMR (HBlink, MMDVM) для создания собственных сетей и управления репитерами
  • Развёртывание почтовых серверов под ключ с гарантией доставки (SPF, DKIM, DMARC)
  • Внедрение локальных AI-систем для генерации текста, изображений и аудио (LLM, Stable Diffusion) с полным контролем над данными
  • Автоматизация через скрипты (PowerShell, Bash) и диагностика лицензий

🌐 Веб-дизайн и разработка: Создаю современные, адаптивные и функциональные сайты. Если вашему проекту нужен не только надёжный сервер «под капотом», но и грамотное визуальное представление, посмотрите примеры моих работ: butjet.ru, clip.svyx.net и alexisiumus.ru.

🔧 Формат: подключение через AnyDesk/RustDesk, оплата по факту выполненной работы.

💬 Обсудить задачу в Telegram 📧 info@svyx.net
Мой блог