У многих владельцев крупных интернет-проектов для размещения их ресурсов имеется не один сервер, а сразу несколько. Причем серверы могут быть как домашними, так и удаленными. Часто требуется перенести данные сайта с одного сервера на другой. И, если осуществить перенос между локальными, близкорасположенными серверами довольно легко, то перенести данные с домашнего сервера на удаленный сервер виртуального хостинга уже сложнее, и сделать это можно только по сети.
Для такого переноса используют программу, способную удаленно осуществлять копирование между серверами – Linux SCP. Для осуществления работы этой программы применяется копирование файлов по SSH. Процесс работы программы SCP с сетевым протоколом SSH осуществляется следующим способом: исходный файл копируется в файл назначения на удаленном сервере, который перезаписывается программой или, если он отсутствует, создается новый пустой файл с именем файла назначения и копирование происходит в этот файл. Разберем примеры.
- Файл «data.txt» копируется из удаленного на локальный сервер:
$ scp user@remote.host:data.txt /some/local/directory
- Файл «data.txt» копируется из локального сервера на удаленный:
$ scp data.txt user@remote.host:/some/remote/directory
- Папка «dir3» из домашнего сервера копируется в папку «dir4» удаленного сервера:
$ scp –r dir3 user@remote.host:/some/remote/directory/dir4
- Файл «data.txt» копируется с одного удаленного хоста «remote.host3» на другой удаленный хост «remote.host4»:
$ scp user@remote.host3:/directory/data.txt user@remote.host4:/some/directory/
- Файлы «data1.txt» и «data2.txt» копируются с домашнего персонального компьютера в ваш домашний каталог на удаленном хосте:
$ scp data1.txt data2.txt user@remote.host:~
- Файл data.txt копируется с локального сервера на удаленный при помощи порта 2222
$ scp -P 2222 data.txt user@remote.host:/some/remote/directory
- Файл «data.txt» копируется с вашего ПК в домашний каталог удаленного хоста. При этом сохраняются время корректировки и доступа, а также права копируемых данных:
$ scp -p data.txt user@remote.host:~
- Файл «data.txt» копируется с ПК в домашний каталог удаленного хоста. При этом увеличивается скорость функционирования Secure Copy с помощью смены алгоритма шифрования на Blowfish:
$ scp -c blowfish data.txtuser@remote.host:~
- Файл «data.txt» копируется в домашний каталог удаленного хоста с домашнего ПК. При этом ширина канала ограничивается до 100 kbps:
$ scp -l 100 data.txtuser@remote.host:~
- Сразу несколько файлов копируются из удаленного сервера в текущую папку на домашнем сервере:
$ scp user@remote.host:~/\{data1, data2, data3\}