Копирование в ssh

Копирование в ssh

    Общие сведения

    Копирование файлов по проколу ssh осуществляется с помощью двух утилит:
    scp и sftp
    sftp работает подобно ftp серверу, работает в интерактивном режиме, поддерживает синтаксис ftp и может использоваться как удаленный ftp сервер, при этом в качестве сервера используется ssh

    scp

    При рекурсивном скачивании scp следует по символическим ссылкам sftp нет.
    Программа scp может копировать файлы между двумя удаленными хостами
    Если указана опция -3, тогда копирование файлов между удаленными хостами, будет осуществляться через 3-й локальный хост
    Для рекурсивного копирования используется опция -r
    -P большая используется для указания порта
    -l опция в scp для ограничения лимита скорости передачи

    rsync

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

    rsync -r -e 'ssh -p 222' ./data root@192.168.1.1:/root/

    -r для рекурсивного перебора каталога
    -a опция сохраняет все атрибуты файлов, пожалуй важная опция, эквивалент -rlptgoD (но не -H,-A,-X)
    -с проверка контрольных сумм
    -z сжимать файлы перед передачей
    -d удалять файлы, которых нет в источниках, с этой опцией нужно быть осторожнее
    -P --progress покажет прогресс синхронизации в процентах
    -L копировать содержимое ссылок
    -l копировать символьные ссылки
    -H копировать жесткие ссылки
    -g сохранить группу файлов
    -t сохранить время изменения файлов
    -p сохранить права для файлов
    -E сохранить исполняемость
    -X --xattrs сохраняют расширенные атрибуты
    -o --owner сохранить владельца (только для суперпользователя)
    -g --group сохранить группу
    --devices сохраняют файлы устройств (только для суперпользователя)
    --specials предложения сохраняют специальные файлы
    более подробно man rsync
    Пример с наиболее оптимальным набором опций:

    $ rsync -Pzarc -e 'ssh -p 222' 'box-12723-0999.20-md5_fffcd02f214fe2c7d28883700f9f5797.tar' root@192.168.1.1:/root/ root@192.168.1.1's password: sending incremental file list box-12723-0999.20-md5_fffcd02f214fe2c7d28883700f9f5797.tar 124,019,029 100% 11.37MB/s 0:00:10 (xfr#1, to-chk=0/1)
    sftp

    Пример подключения:

    sftp -P 222 user@92.168.1.3:/uploads/

    В данном случае, подобно ftp попадаем в каталог указанный при подключении


    Если при подключении будет указан полный путь до файла, данный файл будет загружен на локальную машину

    Интерактивный режим sftp

    bye - выйти из sftp
    Есть ограниченные команды chmod chown, есть команда df для отображения информации о размере файловой системы
    get в интерактивном режиме загружает указанный файл в локальную директорию указанную по умолчанию
    sftp> get netbash.conf Fetching /root/data/netbash.conf to netbash.conf /root/data/netbash.conf

    lcd меняет локальную директорию для обмена

    sftp> lcd /home/t/Downloads

    -r опция позволит скачать каталог и его содержимое разом

    get -r netbash

    Опция -p или -P позволит скачать файлы с правами доступа и меткой времени
    Опция -a позволяет докачать существующие файлы на локальной машине
    lmkdir создает директорию на локальной машине
    put загружает файлы с локальной машины, на удаленную машину:

    sftp> put test.txt Uploading test.txt to /root/data/test.txt test.txt

    здесь опция -a также синхронизирует файлы, только теперь с локальной машины на удаленную, в целом опции те же что в команде get
    reget и reput эквивалентны get -a и put -a
    rename переименовать удаленную машину по умолчанию
    ! перед командой в удаленной машине, выполнит команду в локальном оболочке:

    !mkdir test
    Источники
    Последнее изменение: 10.10.2024 05:27


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ