давайте продолжим обсуждение моей любимой команды Linux, которая является rsync.
rsync также можно использовать для синхронизации локальных каталогов с удаленной системой, если у вас есть ssx-
доступ к этой удаленной системе, это должно быть вашим первым выбором, когда вы хотите сделать резервную копию или зеркалировать
конфигурацию сервера по сети все параметры, которые мы видели в предыдущей лекции
для локальной синхронизации, по-прежнему доступны, основной синтаксис очень прост и похож
на scp, давайте начнем, я запускаю rsync на centos, который будет клиентом,
и синхронизирую его в ubuntu, где запущен демон ssh, поэтому необходим доступ по ssh от centos к ubuntu,
первым делом нужно проверить, что ssh работает, я хочу, чтобы любая проблема была изолирована,
и давайте сделаем
резервную копию или синхронизируем директорию косой черты и т. д., где находится вся конфигурация
centos пользователь, который запускает команду rsync, должен иметь сокращения для каждого файла в исходном местоположении,
а пользователь, который подключается к удаленному серверу, должен иметь доступ на запись в пункт назначения, поэтому
на centos я запускаю команду rsync как root в косой черте ctc, есть файлы, которые могут быть прочитаны
только пользователем root, поэтому sudo rsync минус av минус e ssh исходная косая черта dc и место назначения
я буду использовать тот же формат, что и в случай scp, поэтому пользователь в двоеточии
ip-адреса сервера и центроидов itc
каталога назначения вы замечаете, что синтаксис похож на scp, часть назначения указывается
как имя пользователя, которое будет подключаться к удаленному серверу по адресу ap сервера двоеточие
и удаленный путь или место, куда будут скопированы файлы, обратите внимание, что между
именем пользователя, IP-адресом и удаленным путем, я нажимаю Enter , не допускается пробел, и он начнет копировать файлы,
которые были паролем sudo, а теперь аутентификация для ssh
это будет сделано,
если я запустил его снова, он ничего не скопирует,
потому что исходный и целевой каталоги уже синхронизированы,
ничего не было скопировано, но если я что-то изменю в исходном местоположении, только изменения будут скопированы,
давайте добавим новый group group добавить DevOps,
конечно, так же хорошо,
и я также создаю новый файл,
я снова запускаю async, просто чтобы проверить, что только измененные файлы будут
скопированы в место назначения, перезаписывая старые
отлично, только эти файлы были скопированы, если вы хотите чтобы удалить файлы, которые были удалены
в исходном каталоге, из целевого каталога добавьте параметр удаления минус минус,
это полезно для зеркалирования, когда вы хотите, чтобы два каталога всегда имели одинаковое содержимое,
без этого параметра он не будет удалять такие файлы, которые я удаляю файл, который я только что создал,
и я запускаю rsync без опции удаления минус минус, которую
я выполняю, на самом деле та же самая команда не удалит файл, который вы видите, файл
не был удален из места назначения, и я ' m добавляя параметр удаления минус минус,
будьте осторожны, чтобы не добавлять параметр между минус c и ssx,
и файл был удален из места назначения,
если вы хотите указать порт ssh, отличный от значения по умолчанию 22, а затем после параметра минус
e поместите все g между кавычками и используйте любую опцию команды ssx, вот
как вы указываете другую часть,
теперь давайте перенесем данные с удаленного на локальный компьютер,
все, что мне нужно сделать, это переключить источник и место назначения, поэтому rsync минус av минус e ssh
источник, и это будет удаленный сервер, например, я копирую этот каталог в свой проект,
поэтому студент по адресу ap, двоеточие, tilda и имя каталога, мой подчеркнутый проект,
и я копирую его в текущий
каталог, и каталог был скопировано,
обратите внимание, что все другие параметры, которые мы обсуждали в предыдущей лекции, такие как исключение файлов
, все еще доступны, хорошо, это все, что делает хорошее резервное копирование и тестирование, вероятно, первое,
что должен сделать хороший системный администратор в случае аварии, вы будете полностью покрытый