Копировать файлы сеть linux

Содержание
  1. Как скопировать файл / папку из локальной системы в удаленную систему в Linux?
  2. Метод 1: Копировать файлы / папки из локальной системы в удаленную систему в Linux с помощью команды SCP
  3. Способ 2: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью Shell Script с командой scp?
  4. Метод 3: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью команды PSCP?
  5. Метод 4: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью команды rsync?
  6. Метод 5: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью Shell Script с командой rsync?
  7. Метод 6: Копирование файлов / папок с локальной системы на несколько удаленных систем в Linux с помощью Shell Script с командой scp?
  8. Метод 7: Копировать файлы / папки из локальной системы на несколько удаленных систем в Linux с нестандартным номером порта?

Как скопировать файл / папку из локальной системы в удаленную систему в Linux?

Как скопировать файл / папку из локальной системы в удаленную систему в Linux? Перенос файла с одного сервера на другой или с локального на удаленный является одной из рутинных задач администратора Linux. Если кто-то скажет «нет», я не приму это в серьез, потому что это одно из регулярных занятий, которым приходится заниматься. Это можно сделать разными способами, и мы стараемся охватить все возможные варианты. Вы можете выбрать тот метод, который вы предпочитаете. Также проверьте другие команды, которые могут помочь вам в каких-то других целях. Я протестировал все эти команды и скрипты в своей тестовой среде, поэтому вы можете использовать их для своей обычной работы. По умолчанию каждый работает с SCP, потому что это одна из встроенных команд, которую все используют для копирования файлов. Но команды, которые перечислены в этой статье, умны, поэтому попробуйте их использовать, если вы хотите попробовать что-то новое. Это можно легко сделать четырьмя способами, описанными ниже.

  • SCP: scp копирует файлы между хостами в сети. Он использует ssh для передачи данных, использует ту же аутентификацию и обеспечивает ту же безопасность, что и ssh.
  • RSYNC: rsync – это быстрый и необычайно универсальный инструмент для копирования файлов. Он может копировать локально, на / с другого хоста через любую удаленную оболочку или на / с удаленного демона rsync.
  • PSCP: pscp – это программа для параллельного копирования файлов на несколько хостов. Он предоставляет такие функции, как передача пароля в scp, сохранение вывода в файлы и тайм-аут.
  • PRSYNC: prsync – это программа для копирования файлов параллельно с несколькими хостами. Он предоставляет такие функции, как передача пароля в ssh, сохранение вывода в файлы и тайм-аут.
Читайте также:  Показывать скрытые папки линукс

Метод 1: Копировать файлы / папки из локальной системы в удаленную систему в Linux с помощью команды SCP

Команда scp позволяет нам копировать файлы / папки из локальной системы в удаленную систему.

Мы собираемся скопировать файл output.txt из моей локальной системы в удаленную систему 2g.CentOS.com в каталоге /opt/backup.

# scp output.txt root@2g.CentOS.com:/opt/backup output.txt 100% 2468 2.4KB/s 00:00

Мы собираемся скопировать два файла output.txt и passwd-up.sh из моей локальной системы в удаленную систему 2g.CentOS.com в каталоге /opt/backup.

# scp output.txt passwd-up.sh root@2g.CentOS.com:/opt/backup output.txt 100% 2468 2.4KB/s 00:00 passwd-up.sh 100% 877 0.9KB/s 00:00

Мы собираемся скопировать каталог shell-script из моей локальной системы в удаленную систему 2g.CentOS.com в каталоге /opt/backup.

Это скопирует каталог shell-script и связанные файлы в каталог /opt/backup.

# scp -r /home/daygeek/2g/shell-script/ root@2g.CentOS.com:/opt/backup/ output.txt 100% 2468 2.4KB/s 00:00 ovh.sh 100% 76 0.1KB/s 00:00 passwd-up.sh 100% 877 0.9KB/s 00:00 passwd-up1.sh 100% 7 0.0KB/s 00:00 server-list.txt 100% 23 0.0KB/s 00:00

Способ 2: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью Shell Script с командой scp?

Если вы хотите скопировать один и тот же файл на несколько удаленных серверов, создайте следующий небольшой сценарий оболочки для достижения этой цели.

Для этого получите список серверов и добавьте их в файл server-list.txt.

Убедитесь, что вы обновили список серверов в файле server-list.txt.

Каждый сервер должен быть в отдельной строке.

Наконец, укажите местоположение файла, который вы хотите скопировать, как показано ниже.

# file-copy.sh #!/bin/sh for server in `more server-list.txt` do scp /home/daygeek/2g/shell-script/output.txt root@$server:/opt/backup done

Как только вы закончите, установите исполняемое на выполнение для файла password-update.sh.

Наконец, запустите скрипт, чтобы добиться желаемого результата.

# ./file-copy.sh output.txt 100% 2468 2.4KB/s 00:00 output.txt

Используйте следующий скрипт, чтобы скопировать несколько файлов на несколько удаленных серверов.

# file-copy.sh #!/bin/sh for server in `more server-list.txt` do scp /home/daygeek/2g/shell-script/output.txt passwd-up.sh root@$server:/opt/backup done

Вывод ниже показывает все файлы дважды, так как все скопировано на два сервера.

# ./file-cp.sh output.txt 100% 2468 2.4KB/s 00:00 passwd-up.sh 100% 877 0.9KB/s 00:00 output.txt 100% 2468 2.4KB/s 00:00 passwd-up.sh

Используйте следующий скрипт для рекурсивного копирования каталога на несколько удаленных серверов.

# file-copy.sh #!/bin/sh for server in `more server-list.txt` do scp -r /home/daygeek/2g/shell-script/ root@$server:/opt/backup done

Выход для вышеуказанного скрипта.

# ./file-cp.sh output.txt 100% 2468 2.4KB/s 00:00 ovh.sh 100% 76 0.1KB/s 00:00 passwd-up.sh 100% 877 0.9KB/s 00:00 passwd-up1.sh 100% 7 0.0KB/s 00:00 server-list.txt 100% 23 0.0KB/s 00:00 output.txt 100% 2468 2.4KB/s 00:00 ovh.sh 100% 76 0.1KB/s 00:00 passwd-up.sh 100% 877 0.9KB/s 00:00 passwd-up1.sh 100% 7 0.0KB/s 00:00 server-list.txt

Метод 3: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью команды PSCP?

Команда pscp напрямую позволяет нам выполнять копирование на несколько удаленных серверов.

Читайте также:  Qt5 designer linux установка

Используйте следующую команду pscp, чтобы скопировать один файл на удаленный сервер.

# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt /opt/backup [1] 18:46:11 [SUCCESS] 2g.CentOS.com

Используйте следующую команду pscp, чтобы скопировать несколько файлов на удаленный сервер.

# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt ovh.sh /opt/backup [1] 18:47:48 [SUCCESS] 2g.CentOS.com

Используйте следующую команду pscp, чтобы рекурсивно скопировать каталог на удаленный сервер.

# pscp.pssh -H 2g.CentOS.com -r /home/daygeek/2g/shell-script/ /opt/backup [1] 18:48:46 [SUCCESS] 2g.CentOS.com

Используйте следующую команду pscp, чтобы скопировать один файл на несколько удаленных серверов.

# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt /opt/backup [1] 18:49:48 [SUCCESS] 2g.CentOS.com [2] 18:49:48 [SUCCESS] 2g.Debian.com

Используйте следующую команду pscp, чтобы скопировать несколько файлов на несколько удаленных серверов.

# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt passwd-up.sh /opt/backup [1] 18:50:30 [SUCCESS] 2g.Debian.com [2] 18:50:30 [SUCCESS] 2g.CentOS.com

Используйте следующую команду pscp для рекурсивного копирования каталога на несколько удаленных серверов.

# pscp.pssh -h server-list.txt -r /home/daygeek/2g/shell-script/ /opt/backup [1] 18:51:31 [SUCCESS] 2g.Debian.com [2] 18:51:31 [SUCCESS] 2g.CentOS.com

Метод 4: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью команды rsync?

Rsync – это быстрый и необычайно универсальный инструмент для копирования файлов.

Он может копировать локально, на / с другого хоста через любую удаленную оболочку или на / с удаленного демона rsync.

Используйте следующую команду rsync, чтобы скопировать один файл на удаленный сервер.

# rsync -avz /home/daygeek/2g/shell-script/output.txt root@2g.CentOS.com:/opt/backup sending incremental file list output.txt sent 598 bytes received 31 bytes 1258.00 bytes/sec total size is 2468 speedup is 3.92

Используйте следующую команду pscp, чтобы скопировать несколько файлов на удаленный сервер.

# rsync -avz /home/daygeek/2g/shell-script/output.txt passwd-up.sh root@2g.CentOS.com:/opt/backup sending incremental file list output.txt passwd-up.sh sent 737 bytes received 50 bytes 1574.00 bytes/sec total size is 2537 speedup is 3.22

Используйте следующую команду rsync, чтобы скопировать один файл на удаленный сервер через ssh.

# rsync -avzhe ssh /home/daygeek/2g/shell-script/output.txt root@2g.CentOS.com:/opt/backup sending incremental file list output.txt sent 598 bytes received 31 bytes 419.33 bytes/sec total size is 2.47K speedup is 3.92

Используйте следующую команду pscp, чтобы рекурсивно скопировать каталог на удаленный сервер через ssh.

Это действие скопирует только файлы, а не базовый каталог.

# rsync -avzhe ssh /home/daygeek/2g/shell-script/ root@2g.CentOS.com:/opt/backup sending incremental file list ./ output.txt ovh.sh passwd-up.sh passwd-up1.sh server-list.txt sent 3.85K bytes received 281 bytes 8.26K bytes/sec total size is 9.12K speedup is 2.21

Метод 5: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью Shell Script с командой rsync?

Если вы хотите скопировать один и тот же файл на несколько удаленных серверов, создайте следующий небольшой скрипт оболочки для достижения этой цели.

# file-copy.sh #!/bin/sh for server in `more server-list.txt` do rsync -avzhe ssh /home/daygeek/2g/shell-script/ root@$server:/opt/backup done

Вывод для вышеуказанного скрипта оболочки.

# ./file-copy.sh sending incremental file list ./ output.txt ovh.sh passwd-up.sh passwd-up1.sh server-list.txt sent 3.86K bytes received 281 bytes 8.28K bytes/sec total size is 9.13K speedup is 2.21 sending incremental file list ./ output.txt ovh.sh passwd-up.sh passwd-up1.sh server-list.txt sent 3.86K bytes received 281 bytes 2.76K bytes/sec total size is 9.13K speedup is 2.21

Метод 6: Копирование файлов / папок с локальной системы на несколько удаленных систем в Linux с помощью Shell Script с командой scp?

В приведенных выше двух скриптах оболочки мы должны упомянуть расположение файла и папки в качестве предварительных требований, но здесь я сделал небольшую модификацию, позволяющую скрипту получить файл или папку в качестве входных данных.

Читайте также:  Linux создать пользователя adduser

Это может быть очень полезно, если вы хотите выполнить копирование несколько раз в день.

# file-copy.sh #!/bin/sh for server in `more server-list.txt` do scp -r $1 root@$server:/opt/backup done

Запустите скрипта и укажите имя файла в качестве входных данных.

# ./file-copy.sh output1.txt output1.txt 100% 3558 3.5KB/s 00:00 output1.txt 100% 3558 3.5KB/s 00:00

Метод 7: Копировать файлы / папки из локальной системы на несколько удаленных систем в Linux с нестандартным номером порта?

Используйте скрипт оболочки, расположенный ниже, чтобы скопировать файл или папку, если вы используете нестандартный порт.

Если вы используете нестандартный порт, обязательно укажите номер порта, как указано ниже для команды SCP.

# file-copy-scp.sh #!/bin/sh for server in `more server-list.txt` do scp -P 2222 -r $1 root@$server:/opt/backup done

Запустите скрипт оболочки и укажите имя файла в качестве входных данных.

# ./file-copy.sh ovh.sh ovh.sh 100% 3558 3.5KB/s 00:00 ovh.sh

Если вы используете нестандартный порт, убедитесь, что вы упомянули номер порта, как указано ниже для команды rsync.

# file-copy-rsync.sh #!/bin/sh for server in `more server-list.txt` do rsync -avzhe 'ssh -p 2222' $1 root@$server:/opt/backup done

Запустите сценарий оболочки и укажите имя файла в качестве входных данных.

# ./file-copy-rsync.sh passwd-up.sh sending incremental file list passwd-up.sh sent 238 bytes received 35 bytes 26.00 bytes/sec total size is 159 speedup is 0.58 sending incremental file list passwd-up.sh sent 238 bytes received 35 bytes 26.00 bytes/sec total size is 159 speedup is 0.58

Источник

Оцените статью
Adblock
detector