Как копировать папки через SSH
scp
. Рассмотрим основные способы использования, типичные проблемы и советы, позволяющие сделать передачу файлов более эффективной.Копирование папки проекта
Сценарий: Вы работали над проектом локально, и теперь необходимо загрузить его на dev-сервер.
Шаги:
- Откройте терминал.
- Перейдите в родительский каталог папки проекта.
- Используйте следующую команду:
scp -r ./my_project user@dev_server:/home/user/projects/
Объяснение:
-r
: Флаг включающий рекурсивное копирование, необходимое для папок../my_project
: Локальная папка, которая копируется на dev-сервер.user@dev_server
: Имя пользователя и адрес dev-сервера./home/user/projects/
: Путь назначения на сервере.
Скачивание папки с удалённого сервера
Сценарий: Необходимо загрузить большую папку данных с удалённого сервера компании для локального анализа.
Шаги:
- Откройте терминал.
- Перейдите в каталоге, куда хотите загрузить папку.
- Используйте эту команду:
scp -r user@company_server:/path/to/data_folder ./
scp -rC user@company_server:/path/to/data_folder ./
Копирование между двумя удалёнными серверами
Сценарий: Необходимо перенести папку конфигурации с одного сервера на другой.
Шаги:
- Зайдите по SSH на один из серверов.
- Используйте эту команду:
scp -r user1@server1:/path/to/config_folder user2@server2:/destination/path/
Работа с нестандартными портами SSH
Сценарий: Сервер использует порт 2222
для SSH вместо стандартного 22
.
Решение: Используйте флаг -P
, чтобы указать порт:
scp -P 2222 -r local_folder user@remote_server:/remote/path/
Сохранение атрибутов файлов
Сценарий: При переносе веб-сайта необходимо сохранить все разрешения на файлы в неизменном виде.
Решение: Используйте флаг -p
, чтобы сохранить время модификации, время доступа и права доступа:
scp -rp /local/website/files user@web_server:/var/www/html/
Заключение
Освоение команды scp
для копирования папок через SSH очень важно для эффективного управления файлами в разных системах. Ознакомившись с этими практическими сценариями и советами, вы будете подготовлены к решению различных задач по передаче файлов в повседневной работе. Не забывайте проверять команды перед выполнением, особенно если речь идёт о важных данных.