При ежедневной аренде серверов иногда возникает необходимость перенести файлы с одного сервера на другой. Вот четыре способа передачи файлов между серверами Linux.
[Преимущества] Простой, удобный, безопасный и надежный поддерживает параметры ограничения скорости; [Недостатки] Не поддерживает исключение каталогов. [Использование] SCP — это безопасная копия, которая используется для удаленного копирования файлов. Передача данных использует ssh и использует тот же метод аутентификации, что и ssh, обеспечивая ту же гарантию безопасности.
Формат команды: scp [параметр] <Исходный адрес(имя пользователя@IPадресили[Хозяинимя)>:<документпуть> <глазизадрес(имя пользователя @IP адресили Хозяинимя)>:<документпуть>
Предположим, что IP-адрес удаленного сервера — 192.168.1.100.
scp root@192.168.1.100:/data/test.txt /home/myfile/
root@192.168.1.100
:rootдаглаз标сервер(Вам нужно скопироватьдокументизсервер)изимя пользователя,192.168.1.100
даIPадрес,Следите внимательноиз :
не забывай/data/test.txt
Это адрес документа на целевом сервере, который вы хотите скопировать, после которого следует пробел./home/myfile/
Это адрес, по которому документ получен локально.scp /home/myfile/test.txt root@192.168.1.100:/data/testxxx.txt
scp -r root@192.168.1.100:/data/ /home/myfile/
Просто добавьте впереди -r
Вот и все, можете скопировать всю папку.
scp /home/myfile/test.txt root@192.168.1.100:/data/
scp /home/myfile/* root@192.168.1.100:/data/
scp -r /home/myfile/ root@192.168.1.100:/data/
Целевому хосту необходимо заранее включить функцию rcp и установить разрешения rcp: добавьте исходный хост в список доверенных хостов, иначе вы не сможете использовать rcp на исходном хосте для удаленного копирования файлов на целевой хост.
rcpЧастично взято из:команда rcp
rcp означает «удаленный file копия» (удалённое копирование документа). Эта команда используется для копирования документа.команда между компьютерами. rcpЕсть два формата。Первый формат используется длядокументприезжатьдокументизкопировать;Второй формат используется длядокументилиглаз录копироватьприезжать另一个глаз录середина。
1.Формат команды:rcp [параметр] [исходный файл] [файл назначения]
2. Функция команды: Команда rcp используется для удаленного копирования файлов или каталогов. Если одновременно указаны два или более файлов или каталогов, а конечным пунктом назначения является существующий каталог, в этот каталог будут скопированы все ранее указанные файлы или каталоги.
3. Параметры команды: Смысл каждого варианта:
-r
:рекурсияземля Пучок源глаз录серединаиз所有内容копироватьприезжатьглазизглаз录середина。Чтобы использовать Для этого варианта целью должно быть Оглавление.-p
:пытаюсь сохранить исходникдокументизвремя модификацииимодель,пренебрегатьumask。-k
:проситьrcpполучатьсуществоватьв пределах отведенной территорииизудаленный ХозяинизKerberos разрешение вместо получения разрешения Kerberos для удаленного Хозяина в зоне удаленного Хозяина, определенной krb_relmofhost⑶.-x
:для передачииз Все данные открытыDESшифрование。Это влияет на время ответаиCPUИспользование,Но это может повысить безопасность. Если путь, указанный в имени документа, не является полным именем пути,Тогда этот путь интерпретируется как относительный к домашней странице пользователя с тем же именем на удаленном компьютере, если имя удаленного пользователя не указано.,Просто используйте текущее имя пользователя. Если путь к удаленному компьютеру содержит специальные символы оболочки,Нужно использовать обратную косую черту(\\
)、двойные кавычки(”
)илиодинарная кавычка(’
)кронштейн,Позволяет удаленно интерпретировать все метасимволы оболочки. Следует отметить, что,rcp не запрашивает пароль,Он выполняет копирование с помощью команды rsh.directory каждыйдокументилиглаз录параметр Обадаудаленныйдокументимя ХОРОШОда本землядокументимя。удаленныйдокументимя Имеет следующую форму:rname@rhost:path
,где rname — имя удаленного пользователя,rhost — имя удаленного компьютера,путь — это путь к этому документу.
4. Примеры использования:
Чтобы использовать rcp, должны быть выполнены следующие условия:
Если в системе есть /etc/hosts
файл, системный администратор должен убедиться, что файл содержит запись об удаленном хосте, с которым осуществляется связь.
/etc/hosts
Файл содержит строку текста, содержащую следующую информацию для каждой удаленной системы:
internet_address official_name alias
Например:
9.186.10.*** webserver1.com.58.webserver
.rhosts
документ
.rhosts
Документ находится в домашнем каталоге удаленной системы и содержит имя и локальный логин локальной системы.
Например, удаленная система .rhosts
документсерединаизпредмет возможенда:webserver1 root
в,webserver1
да本землясистемаизимясказать,root
да本земля登录имя。так,webserver1
на root может быть включен в .rhosts
документизудаленныйсистемапоездка туда и обратнокопироватьдокумент。
Процесс настройки: эффективен только для пользователя root
1. с обеих сторонrootСоздано в корневом каталоге пользователя.rhosts
документ,и Воляобе стороныизhostname
добавить.существовать Это следует сделать дос обеих сторониз /etc/hosts
документсередина Присоединяйтесь друг к другуизIP
иhostname
2. Пучокrsh
Служба запускается,redhat
по умолчаниюда Не запускаетсяиз。
метод:выполнить сntsysv
Заказ,существоватьrshИспользуйте пробел перед опцией, чтобы выбрать ее.,ОК, чтобы выйти。а затем выполнить:service xinetd restart
Вот и все。
3. приезжать/etc/pam.d/
в каталоге,Пучокrsh
документсерединаизauth required /lib/security/pam_securetty.so
Используйте одну строку#
Комментировать Вот и все。(Просто закомментируйте эту строку,для входа в систему как пользователь root)
Волядокументкопироватьприезжатьудаленныйсистема Чтобы преобразовать документацию из локальной системы в удаленную систему, используйте следующий заказ:
rcp local_file remote_hostname:remote_fileEnter
Обратите внимание: если нет local_file
,Помимо локального имени документа,Также необходимо предоставить относительныепуть(Начать с текущего каталога)илиабсолютныйпутьимя(с/
начинать).
только если надеюсь Воляremote_hostname
наremote_file
помещатьприезжать其他глаз录(удаленный主глаз录除外)в следующий раз,Вам необходимо указать полный (абсолютный) путь к нему.
Пример использования 1: Скопируйте test1 из текущего каталога в удаленную систему с именем webserver1. Заказ:
rcp test1 webserver1:/home/root/test3
проиллюстрировать: В этом случае test1 Скопировано в удаленный подкаталог. В test3 имя по-прежнему test1 . Если указано только имя удаленного хоста, rcp поставлю test1 Скопировано в удаленный домашний каталог, имя по-прежнему test1 。 Вы также можете включить имя документа в целевой каталог. Например, измените документировать на что-то под названием В системе веб-сервера1:
rcp test1 webserver1:/home/root/test3
В этом случае скопируйте test1 в корень удаленного каталога и назовите его test3.
Пример использования 2: Из удаленной системыкопировать документ: Чтобы скопировать документ из удаленной системы в локальный каталог. Заказ:
rcp remote_hostname:remote_file local_fileEnter
Пример использования: 3: Скопируйте test2 на веб-сервере удаленной системы 1 в текущий каталог:
Заказ:
rcp webserver1:/home/root/test2 .Enter
проиллюстрировать:
точка (.
) Это сокращение от «текущий каталог». В этом случае удаленный каталог test2 копируется в текущий каталог, а имя по-прежнему остается test2 。
Если вы хотите использовать новое имя для копирования документа, укажите имя целевого документа.
Если вы хотите test2 Чтобы скопировать в другой каталог локальной системы, используйте следующие абсолютные или относительные пути:
rcp webserver1:/home/root/test2 otherdir/ Enter
или ВОЗ,Если вы хотите переместить документкопирование в другой каталог с другим именем документа:
rcp webserver1:/home/root/test2 otherdir/otherfile Enter
Пример использования 4: копировать в удаленную систему: Чтобы скопировать локальный каталог и его подкаталог с документами в удаленную систему, также используйте опцию rcp и -r (рекурсивная).
Заказ:
rcp –r local_dir remote_hostname:remote_dir Enter
проиллюстрировать: Если в текущем каталоге его нет local_dir, помимо имени локального каталога, вам также необходимо указать относительный путь (начиная с текущего каталога) или абсолютный путь (начиная с текущего каталога). / Каталог верхнего уровня начинать). Кроме того, если его нет. удаленный_каталог, затем remote_dir Потребуется относительный путь (начиная с домашнего каталога) или абсолютный путь (начиная с / начинать).
Используйте пример 5: Чтобы скопировать весь подкаталог с именем work в каталог с именем Products в домашнем каталоге на удаленном компьютере веб-сервера1, введите следующую команду:
rcp –r work webserver1:/home/root/products Enter
Эта команда находится в webserver1:/home/root/products
Создайте файл с именем work каталог и все его содержимое (при условии,что /home/root/products уже существует в веб-сервер1середина). В этом примере предполагается, что пользователь находится в каталоге, содержащем work в локальном каталоге. В противном случае необходимо указать относительный или абсолютный путь к каталогу, например: /home/root/work
。
Пример использования 6: Копирование каталога из удаленной системы: Чтобы преобразовать удаленный каталог и все его подкаталоги с документами в локальный каталог, используйте следующий синтаксис: rcp и -r (рекурсивная) опция. Заказ:
rcp –r remote_hostname:remote_dir local_dir Enter
Чтобы скопировать удаленный каталог с именем work в текущий каталог, введите следующее:
rcp –r webserver1:/home/root/work .Enter
точка (.
) Представляет текущий каталог. будет создан в этом каталоге work Оглавление.
[Отличная точка] Просто и удобно,Поддержка исключенных каталогов,Поддержка параметров ограничения скорости [Отсутствует точка] Вы можете загрузить только документ или папку документов с удаленного компьютера на локальный, и удаленный компьютер должен поддерживать службу ftp (например, запуск proftpd имеет много параметров, и использование более сложное, чем); объект 【использование】 wgetдаодин из интернетас Мобильная загрузкадокументизспо инструментам,Поддерживает загрузку по трем наиболее распространенным протоколам TCP/IP: HTTP, HTTPS и FTP.,И может использовать HTTP-прокси.
Формат команды:
wget [параметр] ftp://<целевая машинаipили Хозяинимя>/<документизабсолютныйпуть> Формат #proftpd
Пример:
wget ftp://192.168.0.10//home/work/source.txt #Копируем папку документа source.txt из 192.168.0.10
wget ftp://www.myhost.com//home/work/source.txt #использовать Хозяинимя
wget -nH -P /home/work/ ftp://www.myhost.com//home/work/source.txt
#Укажите локальный путь сохранения, используйте параметр "-P путь» или «--directory-prefix=путь»; -nH, --no-host-directories Директория Хозяин не создана
wget -r -l 0 -nH -P /home/work/ ftp://www.myhost.com//home/work/sourcedir
#рекурсия Скачайте каталог sourcedir, используйте параметр -r, параметр -l; --level=NUMBER Максимальная глубина рекурсии (inf или 0 представляет бесконечность).
wget --cut-dirs=3 -r -l 0 -nH -P /home/work/ ftp://www.myhost.com//home/work/sourcedir
#-parameter-cut-dirs=НОМЕР пренебрегать Удаленный каталог уровня NUMBER. В этом примере каталог myhostнаsourcedir сохраняется в локальном рабочем каталоге.
wget --limit-rate=200k --cut-dirs=3 -r -l 0 -nH -P /home/work/ ftp://www.myhost.com//home/work/sourcedir #-Параметр –limit-rate=RATE Ограниченный коэффициент потери загрузки
wget --limit-rate=200k --cut-dirs=3 -r -l 0 -nH -P /home/work/ -X /home/work/sourcedir/notincludedir ftp://www.myhost.com//home/work/sourcedir #Исключаем пути с помощью параметра -X
wget -q --limit-rate=200k --cut-dirs=3 -r -l 0 -nH -P /home/work/ -X /home/work/sourcedir/notincludedir ftp://www.myhost.com//home/work/sourcedir #параметр-qозначает тихомодель,Нет вывода; по умолчанию — -v.,резервный режим
[Отличная точка] Мощные функции,Операция аналогична scp,Поддержка исключенных каталогов,Поддержка параметров ограничения скорости;Также поддерживает локальныйкопировать。 【Отсутствует точка】На данный момент нет [использование] rsync — это инструмент резервного копирования зеркальных данных под unixсистемой, что видно из названия программного обеспечения — удаленный sync。этоиз Режим работыиscpисходство,Но он гораздо мощнее SCP. При использовании двойного двоеточия для разделения пути к хозяйнидокументу,это использовать rsyncсервер,Здесь нет введения.
Формат команды:
rsync [параметр] <Исходный адрес(имя пользователя@IPадресили Хозяинимя)>:<документпуть> <глазизадрес(имя пользователя @IP адресили Хозяинимя)>:<документпуть>
Пример:
rsync /home/work/source.txt work@192.168.0.10:/home/work/
#Скопируйте локальный документ source.txt в каталог на/home/work на машине 192.168.0.10.
rsync work@192.168.0.10:/home/work/source.txt /home/work/
#Скопируйте документ 192.168.0.10 машины наsource.txt в локальный каталог /home/work
rsync work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/
#Скопируйте документ source.txt машины 192.168.0.10 в каталог /home/work машины 192.168.0.11
rsync -r /home/work/sourcedir work@192.168.0.10:/home/work/
#Скопируйте папку с документами и добавьте параметр -r
rsync -r /home/work/sourcedir work@www.myhost.com:/home/work/ #использовать Хозяинимя
rsync -r -v /home/work/sourcedir work@www.myhost.com:/home/work/ #Отобразить детали, добавить параметр -v
rsync -r -v --exclude sourcedir/notinclude /home/work/sourcedir work@www.myhost.com:/home/work/ #Исключаем подкаталоги
Уведомление:–excludeпозжеизпуть不能为абсолютныйпуть,Это должен быть относительный путь,В противном случае он не будет соответствовать,не будет исключено.
Ссылка: https://blog.csdn.net/weixin_44256848/article/details/126466072.