Копирование файлов между linux компьютерами

Содержание
  1. 11.4. Копирование файлов между Linux компьютерами
  2. 11.4.1. Копирование файлов с помощью SSH
  3. 11.4.2. Передача файлов с помощью rsync
  4. 11.4.2.1. Базовый режим rsync
  5. 11.4.2.2. rsync в режиме демона (службы)
  6. 11.4.3. Передача файлов с помощью Unison
  7. 11.4.3.1. Использование GUI
  8. 11.4.3.2. Использование командной строки
  9. 11.4.4. Копирование файлов с помощью FTP
  10. Как скопировать файл / папку из локальной системы в удаленную систему в Linux?
  11. Метод 1: Копировать файлы / папки из локальной системы в удаленную систему в Linux с помощью команды SCP
  12. Способ 2: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью Shell Script с командой scp?
  13. Метод 3: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью команды PSCP?
  14. Метод 4: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью команды rsync?
  15. Метод 5: Копирование файлов / папок из локальной системы на несколько удаленных систем в Linux с помощью Shell Script с командой rsync?
  16. Метод 6: Копирование файлов / папок с локальной системы на несколько удаленных систем в Linux с помощью Shell Script с командой scp?
  17. Метод 7: Копировать файлы / папки из локальной системы на несколько удаленных систем в Linux с нестандартным номером порта?

11.4. Копирование файлов между Linux компьютерами

Linux предлагает богатый выбор протоколов, которые вы можете использовать чтобы копировать файлы между компьютерами. Выбор протокола зависит от того, насколько много усилий вы хотите вложить и нуждаетесь ли вы в совместимости с будущими установками Windows. Следующие секции представляют различные методы передачи файлы из и в Linux компьютеры. Убедитесь, что вы имеете работоспособное сетевое соединение, иначе они не будут работать. Все сценарии предполагают работу службы разрешения имен в сети. Если ваша сеть не включает службу имен, используйте непосредственно IP адрес или добавьте IP адреса в соответствии с именами хостов (компьютеров) в /etc/hosts на всех компьютерах.

Следующий пример IP адресов и имен хостов используется на протяжении всего этого раздела:

Имя хоста назначения

IP адрес назначения

Имя хоста источника

IP адрес источника

11.4.1. Копирование файлов с помощью SSH

Следующие требования должны быть удовлетворены и на сервере, и со стороны клиента:

Если вы используете имена хостов, то убедитесь, что каждое имя фигурирует в /etc/hosts на сервере и на клиенте . Если вы используете IP адреса, вам не нужно ничего менять.

Если вы используете брандмауэр, откройте порт SSH. Запустите YaST и выберите Пользователи и безопасность + Брандмауэр . Далее Разрешенные службы и проверьте, отображается ли SSH в списке разрешенных служб. Если нет то, выберите SSH из выпадающего меню Разрешить службу и щелкните Добавить . Примените ваши изменения и покиньте YaST нажав Далее и затем Применить .

Чтобы копировать файлы с сервера клиенту, вы должны знать, где файлы размещаются на сервере. Например, чтобы копировать единственный файл /srv/foo_file с сервера jupiter.example.com в текущий каталог, используйте команду scp (точка указывает на текущий каталог):

Чтобы копировать целый каталог, используйте рекурсивный режим scp :

Если ваша сеть не имеет службы разрешения имен, используйте непосредственно IP адрес сервера:

Если вы не знаете точно где находится ваш файл, используйте команду sftp . Копирование файлов в KDE или GNOME с помощью SFTP очень просто. Поступите следующим образом:

Нажмите Alt + F2 .

Введите следующее в адресной строке:

Введите ваш пароль tux на jupiter.example.com .

Перетащите ваши файлы или каталоги с сервера на ваш рабочий стол или локальный каталог.

KDE предоставляет другой протокол, называемый fish , который может быть использован если sftp недоступен. Использование этого протокола подобно sftp . Замените префикс протокола sftp в URL на fish :

11.4.2. Передача файлов с помощью rsync

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

Пакет rsync установлен.

Идентичные пользователи присутствуют на обоих системах.

Доступно достаточное дисковое пространство на сервере.

Читайте также:  Установка драйвера рутокен для астра линукс

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

rsync полезен для архивирования или копирования данных и так же может быть использован как демон, чтобы предоставить каталоги в сеть (смотрите Расширенная настройка синхронизации с помощью rsync).

11.4.2.1. Базовый режим rsync

Базовый режим работы rsync не требует ни каких специальных конфигураций. rsync позволяет идеально отображать целые каталоги с одной системы на другую. Его использование не сильно отличается от инструмента для регулярного копирования, такого как scp. Следующая команда создает резервную копию домашнего каталога tux на сервере резервного копирования называемом jupiter :

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

11.4.2.2. rsync в режиме демона (службы)

Запустите демон rsyncd на одной из ваших систем, чтобы использовать rsync полнофункционально. В этом режиме возможно создание точек синхронизации (модулей), которые могут быть доступны без учетных записей. Чтобы использовать демон rsyncd, проделайте следующее:

Процедура 11.1. Расширенная настройка синхронизации с помощью rsync

Войдите как root и установите пакет rsync .

Настройте ваши точки синхронизации в /etc/rsyncd.conf . Добавьте имя точки в квадратных скобках и path ключевое слово, как показано в примере:

Запустите демон rsyncd от имени root rcrsyncd start . Чтобы автоматически запускать демон rsync во время загрузки системы, вызовите insserv rsyncd .

Чтобы получить список всех файлов размещенных в каталоге /srv/ftp введите (заметьте: двойное двоеточие):

Инициируйте передачу указав целевой каталог (в этом примере текущий каталог представлен точкой):

По умолчанию, файлы не удаляются в процессе синхронизации. Чтобы форсировать удаление файлов, добавьте опцию —delete . Чтобы гарантировать, что опция —delete случайно не удаляет новые файлы, используйте вместо нее опцию —update . Любые возникающие конфликты должны быть разрешены в ручную.

11.4.3. Передача файлов с помощью Unison

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

Установлен пакет unison .

Есть достаточно свободного места у вас на локальном и удаленном компьютерах.

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

В случае необходимости, запустите Unison с опцией -doc topics для получения полного списка доступных разделов.

Для постоянных настроек, Unison позволяет создать profiles (профили) , которые определяют параметры Unison, такие, как директории (корни) для синхронизации, игнорируемые типы файлов и другие настройки. Профили хранятся в виде текстовых файлов в

/.unison с расширением *.prf .

11.4.3.1. Использование GUI

Для синхронизации различных каталогов с помощью Unison’s GUI, проделайте следующее:

Запустите Unison нажатием Alt + F2 и введите unison .

Если вы запустили Unison в первый раз и без каких-либо опций, у вас запросят каталог-источник. Введите каталог-источник который вы хотите синхронизировать и нажмите OK .

Введите каталог назначения. Он может быть локальным или удаленным. Если вы хотите синхронизироваться с удаленным каталогом, выберите метод (SSH, RSH или Socket) и введите и имя хоста и дополнительного пользователя.

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

В левой колонке показан выбранный каталог источник, в третьей колонке показан каталог назначения. Если существуют различия между каталогами, в колонке Действия указано условное обозначение, предлагаемых действий. Зеленый стрелка указывает, что файл был изменен, добавлен или удален в папке источнике или папке назначения. Направление стрелки указывает направление изменений которые произойдут, если произвести синхронизацию. Вопросительный знак указывает на конфликт (то есть файлы были изменены и Unison не будет автоматически перезаписывать их).

Рисунок 11.1. Варианты синхронизации файлов

Чтобы изменить показанные Unison предложения для каждого файла (например, если вы захотите изменить каталог), выберите файл и нажмите справа налево или слева направо . Пропустить , исключает файлы из синхронизации. Символ в колонке Действия изменится соответствующим образом.

Читайте также:  Daemon tools для linux mint

Для запуска синхронизации, нажмите Начать .

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

11.4.3.2. Использование командной строки

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

Откройте консоль и введите следующую команду:

Замените метки с соответствующих значений.

Unison спросит, что делать с вашими файлами и каталогами,
например:

Нажмите F если вы хотите следовать рекомендациям Unison. Чтобы увидеть другие команды нажмите ? .

Нажмите y , если вы хотите обновить.

11.4.4. Копирование файлов с помощью FTP

Перед настройкой вашего FTP сервера, убедитесь, что выполняются следующие требования:

Установлен пакет vsftp .

У вас есть доступ root к FTP сервера.

Есть достаточно дискового пространства на вашем компьютере.

Эти настройки пригодны только для использования в домашних сетях. Не применяйте их к сайтам, которые не защищены брандмауэром и не разрешайте доступ из интернет.

Чтобы настроить FTP сервер, проделайте следующее:

Подготовка FTP сервера:

Откройте консоль, войдите в систему как root и сделайте резервную копию /etc/vsftpd.conf :

Создайте точку доступа для анонимного FTP

Замените файлы конфигурации в соответствии с вашими потребностями (смотрите man-страницу vsftpd.conf об опциях расширенной конфигурации):

Перезапустите FTP сервер

На клиентской машине, введите адрес ftp:// HOST в вашем браузере или FTP клиенте. Замените HOST именем хоста или IP адресом вашего сервера. Для пользователей доступно множество графических интерфейсов, которые подходят для навигации по вашему FTP серверу. Чтобы просмотреть их список, введите FTP в строке поиска менеджера пакетов YaST.

Источник

Как скопировать файл / папку из локальной системы в удаленную систему в 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Читайте также:  Alt linux запустить терминал от root
Оцените статью
Только для домашних сетей