Cookie

Скопируйте файлы между двумя удаленными NAS через FTP

Опубликовано TheJoe на

Приблизительное время чтения: 3 минут

предосторожность


Эта статья была опубликована более чем год назад, там, возможно, были события.
Пожалуйста, примите это во внимание.

Сегодняшний случай очень нишевый, и я не уверен, что найдется много пользователей, которым нужен мини-гайд, подобный сегодняшнему.. Но это случилось со мной, и сейчас я расскажу вам об этом..

Недавно я приобрел старый микросервер HP N40L Proliant., на котором я установил openmediavault, дистрибутив на основе Debian, который позволяет вам управлять вашей системой точно так же, как классической безголовой системой Linux, и легко настроить общие ресурсы (SMB/CIFS, NFS, FTP, SSH), Докер, еще одно резервное копирование, подпрограммы cron… и многое другое.

Теперь мне нужно перенести данные со старого NAS на этот..

К сожалению, старый NAS — это электроника, не обладающая высокой производительностью.. Есть место для диска, элементарное управление акциями SMB, FTP, сервер DLNA и менеджер битторрентов, которые я никогда не мог заставить работать. Система форматирует диск собственной файловой системой, о которой я не нашел информации в Интернете, и даже вставив старый диск в один из слотов на сервере HP, диск распознается, но файловая система не интерпретируется.

то, я скопирую данные между двумя подключенными к сети устройствами, даже если старый NAS не имеет гигабитного порта.

Я могу подключиться к микросерверу HP по любому протоколу, Я думаю, что я буду использовать SSH, но к старому NAS я могу подключиться только по SMB или FTP… я не особо в восторге, но я поправлюсь.

начинаю подключаться к серверу:

joe@joe-toshiba:$ ssh -t root@192.168.5.10
The authenticity of host 'server_addr (192.168.5.10)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.5.10' (ECDSA) to the list of known hosts.
root@server_addr's password: 
Linux nas 5.19.0-0.deb11.2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.19.11-1~bpo11+1 (2022-10-03) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Nov 27 02:46:35 2022 from 192.168.5.201
root@nas:~#

Отсюда мне нужно будет перейти в каталог внутри одного из дисков, содержащих данные. OMV монтирует диски в каталог с именем /srv/. Я уже установил и настроил mergerfs, программа, позволяющая использовать два диска с разным содержимым “присоединиться” в одном ресурсе. Возможно, мы поговорим об этом в другой статье.

root@nas:~# cd /srv/mergerfs/Public/nas/

На данный момент я уже знаю, что хочу скопировать каталог “Общественный” со старого NAS и все его содержимое. Мне нужно запустить FTP-команду, которая подключит меня и начнет копирование всех данных в фоновом режиме.. Я не хочу держать ноутбук включенным на время операции только для того, чтобы не прерывать запущенный процесс.

Смотри сюда:  Обрезать видеоклип с помощью "FFmpeg"

Самая простая команда, которую я могу запустить, — это evergreen wget.

# wget -rb ftp://joe:My5ecreTp4ssword@192.168.5.2/Public/

опция -r позволяет возобновить загрузку большого усеченного файла (даже случайно) где остановилась загрузка. Пока с -b Я поставил процесс в фоновом режиме.

Однако таким образом мой пароль останется незашифрованным в истории терминала. (если вы решите не очищать историю). И это также останется незашифрованным среди серверных процессов. (ps, top, htop…):

# ps ax | grep wget
271089 ? Rs 26:44 wget -rb ftp://joe:My5ecreTp4ssword@192.168.5.2/Public/
274190 pts/2 S+ 0:00 grep wget

Возможно, я мог бы создать однострочный скрипт, который резюмирует команду… но, может быть, проще создать файл .wgetrc который содержит учетные данные.

## Credentials for the good ol' NAS @ 192.168.5.2
user=joe
password=My5ecreTp4ssword

Как только файл будет сохранен в доме пользователя, я смогу запустить загрузку через FTP без указания учетных данных..

# wget -rb ftp://192.168.5.2/Public/

Если я понимаю, что совершил ошибку, и хочу остановить команду, которая сейчас находится в фоновом режиме, я всегда могу это сделать. “ребята” по старинке. Как мы видели раньше “ps ax | grep wget” показывает процесс и его PID, в то время как “kill PID_ID” это убьет процесс (заменять PID_ID с реальным PID, чтобы убить).


TheJoe

Я держу это в качестве хобби блог от 2009. Я графики энтузиастов, технология, Программное обеспечение с открытым исходным кодом. Среди моих статей не будет трудно найти о музыке, и некоторые личные размышления, но я предпочитаю, чтобы направить линию блога в основном технологии. Для получения дополнительной информации связаться со мной.

0 Комментарии

оставьте ответ

Заполнитель аватара

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатывается комментарий данных.