Bash: резервное копирование и синхронизация через rsync

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

bashrsyncрезервное копирование

👁 Системным администраторам и разработчикам часто приходится настраивать резервное копирование файлов с локальной машины на удалённый сервер или облачное хранилище. Вместо использования сложных инструментов для синхронизации можно легко и быстро организовать это через Bash-скрипт с использованием rsync, что сэкономит время и ресурсы.

📝 Пример кода:

#!/bin/bash

# Локальная директория для бэкапа
SOURCE_DIR="/home/user/documents/"

# Путь к удалённому серверу
REMOTE_USER="user"
REMOTE_HOST="remote.server.com"
REMOTE_DIR="/home/user/backups/"

# Время для создания уникального бэкапа
DATE=$(date +%Y-%m-%d_%H-%M-%S)

# Команда rsync для синхронизации файлов
rsync -av --delete $SOURCE_DIR $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR$DATE/

# Проверка успешности операции
if [ $? -eq 0 ]; then
    echo "Бэкап успешно завершен: $DATE"
else
    echo "Ошибка при создании бэкапа"
fi

📌 Как это работает:

  • rsync -av --delete: синхронизирует файлы из локальной директории в удалённую, используя режим архивации (сохранение прав, символьных ссылок, и т.д.) и удаляя лишние файлы с удалённого хоста, которые были удалены локально.
  • DATE=$(date +%Y-%m-%d_%H-%M-%S): позволяет создавать уникальные директории с временными метками для каждого бэкапа.
  • В случае ошибки или успеха будет выведено сообщение о статусе операции.

❗️ Подходит для использования в продуктивных средах, где важно не только регулярно делать бэкапы, но и держать их организованными и актуальными.

tags: #bash #linux #полезно

❤️ @recura_tech

Скриншот терминала с примером Bash‑скрипта для бэкапа через rsync, фрагмент кода и логотип RECURA на тёмном фоне.
Скриншот примера Bash‑скрипта для резервного копирования через rsync.

Читайте так же