Скопировать файлы на сервер

02 Июл 2009
Опубликовано VladSavitsky
Задача: 

Нужно скопировать (закачать) файл или файлы на сервер.

Варианты

  • Использовать FTP
  • Использовать SCP
  • Копирование через SSH
  • Файловый менеджер в панели управления хостингом

Использовать FTP

Для подключения к FTP-серверу нужен FTP-клиент. Их много, у них разный интерфейс, доп. возможности и лицензия. Если у вас ничего под рукой нет, то можно воспользоваться FileZilla. Есть версия для любой операционной системы (Windows, Linux, Mac). Удобный интерфейс на русском языке.

Опасно! сохранять пароли в FTP-клиенте, который хранит их в открытом виде, потому что при заражении компьютера эти пароли могут быть украдены, а сайты взломаны.
FileZilla, TotalComander не защищают пароли, которые сохраняют.

Кража паролей FTP это очень распространнённый вид взлома сайтов, поэтому стоит использовать ПО, которое шифрует сохраняемые пароли и/или использовать антивирусы.

Для подлкюченния к FTP-серверу нужны такие данные:

  • IP-адрес или доменное имя FTP-сервера
  • Имя пользователя
  • Пароль
  • Порт (нужно указывать, если он нестандартный, то есть отличается от 21го)

Использовать SCP

Команда scp позволяет копировать файлы через SSH-соединение. Команду scp можно использовать:

  • Для копирования с удалённого сервера на локальный компьютер,
    $ scp пользователь@имя-сервера:/путь/к/папке/на/сервере/ .
    Обратите внимание: точка в конце значит, что файлы будут скопированы в текущую локальную папку.
  • Для копирования с локального компьютера на удалённый сервер,
    $ scp файл пользователь@имя-сервера:/путь/к/папке/на/сервере/

    Копирование всех подкаталогов:
    $ scp –r локальная-папка пользователь@имя-сервера:/путь/к/папке/на/сервере/

    Загрузка нескольких файлов или папок:
    $ scp -r папка1/* папка2 папка3/*php пользователь@имя-сервера:/путь/к/папке/на/сервере/
  • Для копирования с одного удалённого сервера на другой удалённый сервер. В этом случае данные передаются напрямую между серверами.
    $ scp пользователь1@имя-сервера1:/путь/к/папке/на/сервере1/ пользователь2@имя-сервера2:/путь/к/папке/на/сервере2/

Копирование через SSH

Закачать уже готовый локальный архив в папку "путь-на-сервере" на сервере "имя-сервера":

$ cat ./drupal.tar.gz | ssh пользователь@имя-сервера -pпорт "cat > /путь-на-сервере/drupal.tar.gz"

Сжать файлы и закачать на сервер:

$ tar czf - /локальный-путь/копируемые-файлы | ssh пользователь@имя-сервера "cat > /путь-на-сервере/data.tgz"

Файловый менеджер в панели управления хостингом

Если файл один, небольшой или файлов немного, а предыдующие варианты не подходят, то можно воспользоваться файловым менеджером, который обычно есть в панели управления хостинга. При создании файла веб-интерфейс файл создаётся от имени веб-сервер и веб-сервер является их владельцем. Это значит что могут быть проблемы с их удалением (но эти файлы можно переимновать и/или переместить).

Разные хостинги используют разное ПО и следовательно будут разные менеджеры файлов.

Общий принцип такой этого метода таков:

  1. Открыть в браузере панель управления хостингом (хостера должен был дать этот адрес)
  2. Залогиниться в панели.
  3. Открыть менеджер файлов.
  4. Перейти в нужную папку.
  5. Создать файл с нужным именем.
  6. Открыть локальный файл, который содержит то, что должно находится в файле на сервере.
  7. Скопировать содержимое из локального файла в буфер обмена.
  8. Открыть на редактирование созданный файл на сервере.
  9. Вставить данные из буфера обмена.
  10. Сохранить изменения в файле на сервере.
  11. Проверить.

Обращайте внимание на кодировку!

Скопировать средствами Drupal

Если Друпал установлен, модуль Upload включён и у вас есть право прикреплять файлы к статьям, то вы можете закачать файл, используя форму прикрепления файлов при создании ноды. Файл будет размещён в папке, которая задана на странице "Файловая система" (admin/settings/file-system).
Дальше его можно переместить в другое место через SSH или с помощью FTP-клиента.
Вариант имеет право на существование, но его недостатком является то, что в базе данных остаётся запись об этом файле пока нода не будет удалена.

Полезные ссылки

]]>]]>

Комментарии

У FileZilla нельзя зашифровать базу с паролями. У меня злобный вирус как-то украл базу от CuteFTP. Понасажали iframe на все сайты, которые там были. С тех пор закрываю базу паролем (в CuteFTP такая возможность есть). Хотя, конечно, можно пользоваться менеджером паролей типа keepass..

keereel | Июл 2nd, 2009 в 9:12 утра

Согласен. Хорошее уточнение - дополнил статью.
Просто я использую совместно с антивирусом и по этому поводу не переживаю.

VladSavitsky | Июл 2nd, 2009 в 3:26 после полудня

да я тоже вроде защищаюсь.. но вот именно тогда решил попробовать новый бесплатный антивирус от, казалось бы, заслуживающего доверия производителя - Panda. Это тот, который "облачный". Теперь вот не рекомендую его использовать. Пользуюсь на работе симантеком, дома - авирой. Вроде все нормально сейчас.

keereel | Июл 2nd, 2009 в 4:55 после полудня
 
 
 

RSS-лента новостей

Dries Buytaert по-русски
]]>Русский поиск Drupal]]>

Перенос сайта из Joomla в Drupal
Перенос сайта из WordPress в Drupal

]]> Drupal - это бесплатная система управления контентом с открытым исходным кодом ]]>