Программа Rsync предназначена для синхронизации файлов между двумя серверами через сеть. Она позволяет копировать только измененные и новые файлы, что делает ее полезным инструментом для переноса файлов на другой сервер или для создания резервных копий. Rsync также может использоваться для копирования файлов с удаленных серверов через протокол SSH для безопасной передачи данных.
Эту программу можно использовать в различных сценариях, таких как регулярные резервные копии, перенос веб-сайтов, обновление содержимого баз данных и многое другое. Она может быть полезна для разработчиков, администраторов и веб-мастеров, которые хотят быстро и удобно переносить файлы между серверами.
Чтобы скопировать сервер CentOS с помощью rsync, нужно выполнить следующие шаги:
- Установить rsync на сервер назначения:
# Для CentOS
sudo yum install rsync
# Для Ubuntu, Debian
sudo apt install rsync
- Подключиться к серверу-назначения с помощью SSH:
ssh user@source_server_ip
- Запустить rsync на целевом сервере, указав все необходимые опции, например:
sudo rsync -aAHXSvxz --info=progress2 --numeric-ids --delete --exclude=--exclude={"/dev/*","/proc/*","/sys/*","/run/*"","/lost+found","/etc/fstab","/etc/udev/rules.d/*","/etc/network/*","/lib/modprobe.d/*"} -e "ssh" --rsync-path="sudo rsync" root@YOUR_OLD_SERVER_IP:/mnt/old/ /mnt/new/
Опции, используемые в примере:
- Опция a в rsync сохраняет все атрибуты файлов и директорий, включая права доступа, владельца и группу, что полезно при копировании файлов с сохранением всех метаданных с одного сервера на другой.
- Атрибут A в rsync позволяет сохранять Access Control List (ACL) для файлов и директорий. Это полезно, если вы хотите сохранить все метаданные и дополнительную информацию о правах доступа при копировании файлов с помощью rsync. Обратите внимание, что для использования этой опции необходимо, чтобы файловая система поддерживала ACL.
- Опция X в Rsync позволяет сохранять расширенные атрибуты файлов, такие как атрибуты, используемые для аудио- и видеофайлов. Это полезно для сохранения метаданных и дополнительной информации о файлах во время копирования. Обратите внимание, что для использования этой опции необходимо, чтобы файловая система поддерживала расширенные атрибуты.
- Опция H в rsync позволяет создавать копию файлов без дублирования данных путем сохранения жестких ссылок на файлы во время копирования, что в свою очередь позволяет существенно сократить время копирования и использование дискового пространства на сервере-назначении.
- Атрибут S используется в rsync для сохранения дополнительной информации о файле, такой как идентификаторы блоков и время последнего изменения. Он также позволяет rsync оптимизировать копирование файлов, что может уменьшить время, затрачиваемое на перенос больших файлов.
- Опция v в rsync выводит подробную информацию о процессе копирования, включая количество скопированных файлов, количество файлов, которые не удалось скопировать, скорость копирования, время, затраченное на копирование и размер каждого скопированного файла. Это может быть полезно для отслеживания прогресса копирования или убедиться в успешном завершении операции, однако использование этой опции может замедлить процесс копирования, так как системе потребуется время на сбор информации о каждом скопированном файле.
- Атрибут x включает опции one-file-system и xdev которые позволяют избежать копирования файлов из разных файловых систем и монтированных директорий. Это может быть полезно, если вы хотите копировать только определенные файловые системы или избежать копирования файлов в монтированных директориях, которые могут быть временными или нежелательными для копирования.
- Атрибут z используется для сжатия данных в процессе копирования, что может помочь ускорить процесс передачи данных, особенно при копировании больших файлов.
- Опция delete в rsync используется для удаления файлов и директорий на сервере-назначении, которые отсутствуют на сервере-источнике. Это удобно, если вы хотите, чтобы на сервере-назначении не было ненужных файлов или директорий и он полностью соответствовал серверу-источнику.
- Для того, чтобы исключить определенные директории или файлы из копирования, в rsync используется опция exclude. Для использования этой опции нужно добавить ее в команду rsync и указать путь к директории или файлу, который необходимо исключить. Вы также можете использовать маски для исключения нескольких файлов или директорий.
Подождать, пока rsync скопирует все файлы и директории на сервер-назначение.
Обратите внимание, что перенос всего сервера с помощью rsync может занять много времени, особенно если на сервере много файлов. Кроме того, необходимо учитывать все необходимые опции, чтобы избежать потери данных или неожиданного поведения системы после переноса.