Top.Mail.Ru

SCP копирование файлов с удаленного сервера в Linux

SCP копирование файлов с удаленного сервера в Linux

Команды:

scp (secure copy protocol) - защищенный протокол копирования

scp -P (Port - порт) - указываем не стандартный порт SSH

scp -r (-recursive - рекурсивно) - все содержимое, включая подкаталоги

scp -p (-preserve - сохранять) - сохранять атрибуты файлов и директорий при копировании

 

Периодически, нам нужно будет получать или отправлять какие-нибудь файлы на сервер, либо какую-нибудь другую машину и сделать это можно через тот же протокол SSH используя утилиту scp

scp (secure copy protocol) - защищенный протокол копирования

 

Ubuntu Client

Допустим, мы хотим скопировать какие-то файлы с удаленного сервера, на нашу машину, для этого указываем команду.

scp -P 2222 it-skills@192.168.0.14:/home/it-skills/mtr_report.txt "/home/user-ubuntu/Рабочий стол"

"" - так как в пути используются русские символы и пробел

-P (Port) указываем порт, так как у нас он не стандартный

mtr_report.txt                                100% 3452   547.8KB/s   00:00  

Все, файл был скопирован к нам на рабочий стол, можем его открыть и посмотреть.

Давайте изменим содержание файла на "Привет всем!", переименуем в mtr_report_2.txt и отправим файл на сервер.

scp -P 2222 "/home/user-ubuntu/Рабочий стол/mtr_report_2.txt" it-skills@192.168.0.14:/home/it-skills

И, само собой, для того, чтобы мы могли копировать на машину или с неё, на ней должна быть установлена и запущена служба SSH, так как именно через SSH выполняется обмен данными.

Чтобы скопировать все файлы, каталоги и подкаталоги необходимо использовать ключ -r, т.е. все содержимое профиля пользователя it-skills с сервера.

scp -P 2222 -r it-skills@192.168.0.14:/home/it-skills "/home/user-ubuntu/Рабочий стол/it-skills_user"

-r (recursive - рекурсивно)

ini                                                                                                                          100% 3685     1.3MB/s   00:00   
user                                                                                                                         100%  907   168.7KB/s   00:00  
1cv8u.pfl                                                                                                                    100%  527    75.1KB/s   00:00  
lognhist.reg                                                                                                                 100%   74    18.3KB/s   00:00  
1cv8strt.pfl                                                                                                                 100% 1594     1.0MB/s   00:00  
1cv8conn.pfl                                                                                                                 100% 1996   694.7KB/s   00:00  
1cv8c.pfl                                                                                                                    100%   26     6.2KB/s   00:00  
registry.xml                                                                                                                 100%   97    18.6KB/s   00:00  
1cv8cmn.pfl                                                                                                                  100% 6386     3.1MB/s   00:00  
cacheData                                                                                                                    100%  324    87.4KB/s   00:00  
cacheStorage                                                                                                                 100% 3556KB  35.7MB/s   00:00  
1cv8.pfl                                                                                                                     100%   58    39.6KB/s   00:00  
100%    8     2.1KB/s   00:00  
salt                                                                                                                         100%    8     2.6KB/s   00:00  
hsts-storage.sqlite                                                                                                          100%   12KB   2.4MB/s   00:00  
salt                                                                                                                         100%    8     4.6KB/s   00:00  
salt                                                                                                                         100%    8     5.1KB/s   00:00  
ibases.v8i                                                                                                                   100%  536   101.3KB/s   00:00  
index                                                                                                                        100% 1280KB  66.1MB/s   00:00  
Tree                                                                                                                         100%   35    22.2KB/s   00:00  
salt                                                                                                                         100%    8     5.0KB/s   00:00  
salt                                                                                                                         100%    8     5.0KB/s   00:00  
.bashrc                                                                                                                      100% 3771     2.2MB/s   00:00  
mtr_report.txt                                                                                                               100% 3452     3.2MB/s   00:00  
1cv8prim.pfl                                                                                                                 100%   26     4.4KB/s   00:00  

 

Важный нюанс, когда мы копируем файлы и директории, они создаются на нашей машине c правами, согласно логики конкретной машины и в результате, в финальном результате права на файлы и папки могут отличаться, от изначальных. Поэтому, чтобы принудительно оставить исходные права, нам необходимо добавить ключ -p, причем, так же сохранится и дата последнего изменения файла.

 

Ubuntu Srv

cd /home/it-skills/

chmod 777 mtr_report.txt

 

Ubuntu Client

scp -P 2222 it-skills@192.168.0.14:/home/it-skills/mtr_report.txt "/home/user-ubuntu/Рабочий стол"

ll

-rwxrwxr-x  1 user-ubuntu user-ubuntu 3452 окт 17 13:44 mtr_report.txt*

scp -P 2222 -p it-skills@192.168.0.14:/home/it-skills/mtr_report.txt "/home/user-ubuntu/Рабочий стол"

-p (preserve - сохранять)

ll

-rwxrwxrwx  1 user-ubuntu user-ubuntu 3452 окт  4 12:53 mtr_report.txt*

Да, теперь действительно, все права были скопированы корректно, и дата последнего изменения так же сохранилась.

Теперь вы знаете, как копировать файлы с удаленной машины и на удаленную машину, рекурсивным методом копировать все содержимое директории и её вложения, а также с сохранением прав доступа и даты изменения.