Инструменты пользователя

Инструменты сайта


projects:linux:backups

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
projects:linux:backups [2025/03/28 12:59] – [🧪 Примеры запуска] projects:linux:backups [2025/03/30 00:17] (текущий) – [Основной скрипт]
Строка 1: Строка 1:
-===== Создание резервной копии SD карты =====+====== Создание резервной копии SD карты ====== 
 + 
 +=====Основной скрипт=====
  
 ++++Скрипт создания резервной копии SD карты на USB носитель| ++++Скрипт создания резервной копии SD карты на USB носитель|
-<file bash backup_sd.sh>+<code bash sd_backup.sh>
 #!/bin/bash #!/bin/bash
-# ==AUTOEXEC== 
 export LANG=C.UTF-8 export LANG=C.UTF-8
-# === Расширенный скрипт резервного копирования SD с автоустановкой зависимостей, логированием и CLI-интерфейсом ===+# ==AUTOEXEC=
 +# === SD BackUp === 
 +# Резервное копирование SD карты 
 +Расширенный скрипт резервного копирования SD 
 +с автоустановкой зависимостей, логированием и CLI-интерфейсом 
 +#
  
 VERSION="1.2" VERSION="1.2"
 SCRIPT_NAME="backup-sd" SCRIPT_NAME="backup-sd"
 +
 +if [[ "$1" == "--help" || "$1" == "-h" ]]; then
 +  echo "📘 Использование: $SCRIPT_NAME [опции]"
 +  echo
 +  echo "Опции:"
 +  echo "  --comment=…           Комментарий для имени файла"
 +  echo "  --compress=TYPE       Сжатие: gzip, xz, zstd, none"
 +  echo "  --shrink / --no-shrink  Уменьшить образ / не уменьшать"
 +  echo "  --sha256 / --no-sha256  Хэш SHA256 / не считать"
 +  echo "  --device=/dev/…       Устройство (например, /dev/mmcblk0)"
 +  echo "  --source=/path.img    Использовать готовый образ"
 +  echo "  --keep-img            Не удалять .img после shrink"
 +  echo "  --keep-days=N         Удалить копии старше N дней"
 +  echo "  --keep-count=N        Хранить не более N копий"
 +  echo "  --log=/path.log       Путь к лог-файлу"
 +  echo "  --template=ШАБЛОН     Имя: %DATE%, %COMMENT%"
 +  echo "  -n / --non-interactive  Без меню (только аргументы)"
 +  echo "  -y / --auto-install   Установить зависимости"
 +  echo "  -h / --help           Показать эту справку"
 +  echo "  --version             Показать версию скрипта"
 +  exit 0
 +fi
 +
 +if [[ "$1" == "--version" ]]; then
 +  echo "$SCRIPT_NAME v$VERSION"
 +  exit 0
 +fi
  
 # Определение директории логов # Определение директории логов
Строка 121: Строка 154:
  
 if [[ -z "$source_img" ]]; then if [[ -z "$source_img" ]]; then
-  log "🛑 Отключаем логирование Docker для контейнера rustdesk-server" 
-  docker update --log-driver=none rustdesk-server || log "⚠️ Не удалось отключить логирование Docker" 
   log "🔕 Отключаем системное логирование на время копирования"   log "🔕 Отключаем системное логирование на время копирования"
   sudo systemctl stop systemd-journald.socket   sudo systemctl stop systemd-journald.socket
Строка 187: Строка 218:
  
 if [[ -z "$source_img" ]]; then if [[ -z "$source_img" ]]; then
-  log "♻️ Восстанавливаем логирование Docker для контейнера rustdesk-server" 
-  docker update --log-driver=journald rustdesk-server || log "⚠️ Не удалось включить логирование Docker" 
   log "🔔 Включаем обратно системное логирование"   log "🔔 Включаем обратно системное логирование"
   sudo systemctl start systemd-journald.socket   sudo systemctl start systemd-journald.socket
Строка 196: Строка 225:
 exit 0 exit 0
  
-</file>+++++</code>++++
  
 ===== MarkDown ===== ===== MarkDown =====
Строка 231: Строка 260:
 ===== 🧪 Примеры запуска ===== ===== 🧪 Примеры запуска =====
  
-### 📦 Съём и сжатие:+📦 Съём и сжатие:
  
 <code bash> <code bash>
Строка 238: Строка 267:
  
  
-### 🗃️ Обработка существующего `.img`, shrink + gzip:+🗃️ Обработка существующего `.img`, shrink + gzip:
 <code bash> <code bash>
 ./backup-sd.sh --source=/mnt/usb/old.img --compress=gzip --shrink --comment="старый образ" --keep-img -n ./backup-sd.sh --source=/mnt/usb/old.img --compress=gzip --shrink --comment="старый образ" --keep-img -n
 </code> </code>
  
-### ♻️ Просто сжать `.img`, без shrink:+♻️ Просто сжать `.img`, без shrink:
 <code bash> <code bash>
 ./backup-sd.sh --source=image.img --compress=zstd --no-shrink --comment="просто сжали" -n ./backup-sd.sh --source=image.img --compress=zstd --no-shrink --comment="просто сжали" -n
Строка 250: Строка 279:
 --- ---
  
-## 📝 Замечания+📝 Замечания
  
   - Поддерживает ''shrink'' (сокращение размера img за счет удаления пространства без данных) через встроенный ''pishrink.sh'', загружаемый при необходимости.   - Поддерживает ''shrink'' (сокращение размера img за счет удаления пространства без данных) через встроенный ''pishrink.sh'', загружаемый при необходимости.
projects/linux/backups.1743155981.txt.gz · Последнее изменение: 2025/03/28 12:59 —

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution 4.0 International
CC Attribution 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki