Вопрос или проблема
Я пытаюсь скопировать директорию на свой сервер. Я пробовал:
scp -r /home/user/Dokumenter/ [email protected]:/home/server/Media
вывод:
scp: stat remote: Нет такого файла или директории
scp: не удалось загрузить директорию /home/user/Dokumenter на /home/server/Media
Попробовал то же самое с rsync -rt, и вывод:
*** Пропуск любых содержимых из этой неудавшейся директории ***
rsync error: некоторые файлы/атрибуты не были переданы (см. предыдущие ошибки) (код 23) в main.c(1338) [отправитель=3.3.0]
Это немного расстраивает, так как мой компьютер с Windows может выполнять команду scp без проблем… Я передал эту папку, скопировав ее на внешний HDD, подключив его к компьютеру с Windows, а затем выполнив scp.
Я хочу сделать это на своем компьютере с Ubuntu, а не на компьютере с Windows 😛
Ответ или решение
Проблема SCP в Ubuntu: Решение и Устранение Неисправностей
Введение
При попытке скопировать директорию на сервер через команду scp
, вы столкнулись с ошибкой. Описание проблемы включает использование аргумента -r
для рекурсивного копирования и предоставление адреса назначения. Основные ошибки, которые вы получили, указывают на возможность неверного адреса или недостатка прав доступа. Давайте подробнее рассмотрим возможные причины и решения этой проблемы.
Анализ Ошибок
1. Ошибка scp: stat remote: No such file or directory
Эта ошибка указывает на то, что система не может найти указанный путь на удалённом сервере. Причины могут включать:
- Неверный адрес или неправильное написание пути. Убедитесь, что используете правильный IP-адрес или имя хоста.
- Отсутствие пути
/home/server/Media
на удалённой машине. Возможно, директория не была создана, или вы ввели неправильный путь.
2. Ошибка rsync error: some files/attrs were not transferred (code 23)
Ошибка кода 23 в rsync
чаще всего связана с тем, что одна или несколько частей пути недоступны для чтения или не могут быть корректно обработаны. Это может быть связано с правами доступа или отсутствием необходимых директорий.
Рекомендации по Решению Проблемы
-
Проверьте Доступность Ремонтного Серверного Пути
-
Убедитесь, что путь
/home/server/Media
существует на удалённом сервере. Для этого подключитесь к серверу по SSH и выполните команду:ls -ld /home/server/Media
-
Если директория не существует, создайте её:
mkdir -p /home/server/Media
-
-
Проверьте Права Доступа
- Убедитесь, что у пользователя, под которым вы подключаетесь к серверу, есть достаточно прав для записи в директорию
Media
. Выполните команду:ls -ld /home/server
- Если нужно, измените права или владельца директории. Например, чтобы дать полные права пользователю:
sudo chown your_user:your_group /home/server/Media chmod 755 /home/server/Media
- Убедитесь, что у пользователя, под которым вы подключаетесь к серверу, есть достаточно прав для записи в директорию
-
Корректная Синтаксическая Ошибка Команды SCP
- Убедитесь, что команда
scp
написана корректно и не содержит лишних пробелов или опечаток. Вот пример корректного синтаксиса:scp -r /home/user/Dokumenter [email protected]:/home/server/Media
- Убедитесь, что команда
-
Обратите Внимание на SSH Настройки
- Установите, что SSH-сервер запущен на удалённом сервере и что вы можете подключиться к нему:
ssh [email protected]
- Разрешите SSH-соединения и убедитесь, что никакие брандмауэры или сетевые политики не блокируют доступ.
- Установите, что SSH-сервер запущен на удалённом сервере и что вы можете подключиться к нему:
-
Альтернатива: Использование rsync
- Если
scp
продолжает выдавать ошибки, временно используйтеrsync
, который также предлагает более гибкие параметры синхронизации:rsync -avz /home/user/Dokumenter [email protected]:/home/server/Media
- Если
Заключение
Решение проблемы с scp
на Ubuntu может включать несколько шагов, от проверки путей до прав доступа. Придерживаясь указанных рекомендаций, вы сможете устранить ошибки и успешно передать файлы на сервер. Если проблема сохраняется, возможно, стоит проверить логи на удалённом сервере для более детальной диагностики.
Следует также помнить о возможности использования других инструментов, таких как rsync
, для более надежного и жестокого копирования данных.