Необходимо было разово выполнить процедуру резервного копирования данных с удаленного сервера на сетевое хранилище в локальной сети
Исходные данные:
- ip-адрес сетевого хранилища: 192.168.0.17
- ip-адрес удаленного сервера: 8.8.8.8
Подключаемся по ssh к сетевому хранилищу
ssh admin@192.168.0.17
Оттуда запускаем команду синхронизации
Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров
Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.
rsync -rltvzu --progress root@8.8.8.8:/home/data/ /volume1/Backup/data
где:
-r, рекурсивный режим (копирование всех подпапок и файлов в них)
-l, копировать символические ссылки «как есть», то есть rsync не будет следовать по ним, обращаясь к файлам
-t, обновлять время модификации файла на приёмной стороне
-v, подробные вывод операций
-z, компрессия данных при передаче
-u, режим обновления, пропускаются файлы на получателе, имеющие более позднюю дату модификации, чем в источнике
/home/data/ - соержимое каталога, который мы копируем (!!! обратный слэш в конце)
/volume1/Backup/data - каталог, куда будут скопированы данные
В команде rsync отсутствует ключ -a, так как в него входят другие ключи, из-за которых синхронизация не выполнялась
Основные ключи команды
-a, режим архивирования, включает ключи -rlptgoD;
-r, каталоги копируются рекурсивно;
-l, копировать символические ссылки «как есть», то есть rsync не будет следовать по ним, обращаясь к файлам;
-p, сохранение прав доступа к файлам;
-t, сохранение времени модификации файлов;
-g, -o, сохранение владельца и группы файла;
-D, сохранение файлов устройств и специальных файлов;
-u, режим обновления, пропускаются файлы на получателе, имеющие более позднюю дату модификации, чем в источнике;
-v, выводит имена копируемых файлов;
-q, не выводит сообщения об ошибках;
-z, включение режим сжатия;
-P, отображение прогресса при копировании;
-с, проверка файлов по контрольной сумме, а по размеру и дате модификации. Дополнительная нагрузка на процессор, сильно увеличивает время синхронизации;
--ignore-errors, продолжение копирования и удаления даже после появления ошибок;
--max-delete, максимальное число удаляемых за один раз файлов и каталогов;
--files-from=FILE, задается список файлов и директорий для копирования в файле;
-e ssh, использование при копировании ssh;
--bwlimit=KBPS, ограничение скорости копирования.