Описание инструмента

Генератор команд Rsync - это комплексный инструмент, который помогает создавать сложные команды rsync через интуитивный визуальный интерфейс. Вместо того чтобы запоминать многочисленные флаги и параметры командной строки, вы можете настроить операцию синхронизации или резервного копирования rsync, выбирая опции, указывая пути и устанавливая фильтры. Инструмент генерирует правильно отформатированную команду rsync, которую можно скопировать и выполнить в терминале.

Этот инструмент особенно полезен для системных администраторов, DevOps-инженеров и разработчиков, которым необходимо синхронизировать файлы между локальными и удалёнными системами, создавать резервные копии или развёртывать файлы на серверах. Он поддерживает как локальную передачу, так и удалённую передачу через SSH, с обширными опциями для сжатия, прав доступа, фильтрации и оптимизации передачи.

Возможности

  • Гибкая настройка путей: Настройка исходных и целевых путей как для локальных, так и для удалённых систем
  • Интеграция с SSH: Встроенная поддержка удалённых передач с настройкой пользовательского порта SSH
  • Полный набор опций: Доступ к распространённым флагам rsync, включая:
    • Режим архива (-a) для рекурсивного копирования директорий с сохранением прав доступа
    • Подробный вывод (-v) для детальной информации о передаче
    • Сжатие (-z) для уменьшения сетевой передачи
    • Отображение прогресса (--progress) для мониторинга статуса передачи
    • Читаемые числа (-h) для размеров файлов
    • Удаление лишних файлов (--delete) для точного зеркалирования источника
    • Пробный запуск (--dry-run) для тестирования без внесения изменений
    • Сохранение прав доступа (--perms)
    • Поддержка частичной передачи (--partial) для возобновления прерванных передач
  • Контроль пропускной способности: Ограничение скорости передачи в КБ/с для предотвращения перегрузки сети
  • Шаблоны включения/исключения: Добавление нескольких файловых шаблонов для фильтрации синхронизируемых данных
  • Санитизация шаблонов: Автоматическая обработка специальных символов в файловых шаблонах
  • Поле дополнительных опций: Добавление любых пользовательских опций rsync, не охваченных флажками
  • Предварительный просмотр команды в реальном времени: Просмотр обновления сгенерированной команды при изменении опций
  • Копирование в буфер обмена: Копирование полной команды одним щелчком

Примеры использования

Резервное копирование серверов Создавайте автоматизированные скрипты резервного копирования, генерируя команды rsync, которые синхронизируют данные сервера в место резервного копирования. Используйте опцию --delete для обеспечения точного зеркалирования резервной копии и --dry-run для тестирования перед фактическим резервным копированием.

Развёртывание веб-сайтов Развёртывайте файлы веб-сайта из локальной среды разработки на производственный сервер. Используйте шаблоны включения/исключения для пропуска временных файлов, логов или конфигурационных файлов, которые не должны быть развёрнуты. Опция ограничения пропускной способности предотвращает перегрузку сетевого соединения при развёртывании.

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

Инкрементное резервное копирование Используйте опцию --partial для возобновления больших передач, которые были прерваны, экономя время и пропускную способность. Сочетайте со сжатием для оптимизации использования сети при работе с большими наборами данных.

Рабочие процессы разработки Синхронизируйте код между машинами разработки или развёртывайте на промежуточные серверы. Используйте шаблоны исключения для пропуска директорий контроля версий (.git), зависимостей (node_modules) или артефактов сборки.

Миграция данных Передавайте большие объёмы данных между системами с мониторингом прогресса и сжатием. Опция читаемых чисел облегчает отслеживание прогресса передачи и оценку времени завершения.

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

Структура команды

Инструмент генерирует команды в следующем формате:

rsync [короткие-флаги] [длинные-опции] [ssh-опции] [шаблоны-включения] [шаблоны-исключения] [дополнительные-опции] "источник" "назначение"

Короткие флаги комбинируются (например, -avzh), в то время как длинные опции указываются отдельно. Шаблоны включения и исключения обрабатываются по порядку, что позволяет использовать сложную логику фильтрации. Пути, содержащие специальные символы, автоматически берутся в кавычки и экранируются.

Важные замечания

  • Завершающие слэши в путях: В rsync завершающие слэши в исходных путях имеют значение. /источник/ копирует содержимое, а /источник копирует саму директорию.
  • Предупреждение об опции Delete: Флаг --delete удаляет файлы в назначении, которых нет в источнике. Всегда сначала тестируйте с --dry-run.
  • Аутентификация SSH: Удалённые передачи требуют правильной настройки SSH-ключей или будут запрашивать пароли во время выполнения.
  • Порядок шаблонов: Шаблоны включения применяются перед шаблонами исключения. Более специфичные шаблоны должны идти перед общими.
  • Ограничение пропускной способности: Указывается в КБ/с. Например, 1024 ограничивает передачу примерно до 1 МБ/с.