Чтобы получить доступ к файлам на диске, вам необходимо смонтировать раздел, в котором они хранится. При монтировании к каталогу прикрепляется область хранения; после монтирования файлы в этой области хранения будут доступны в этом каталоге. После того, как хранилище смонтировано в каталоге, просто перейдите в этот каталог в Filezilla.
fdisk
сообщает вам, что внешний диск разделен на три раздела, все из которых, по-видимому, являются томами RAID. Я пишу «очевидно», потому что тип, указанный в разделе, является лишь условием, Linux на самом деле не заботится. Немного странно иметь один диск с томами RAID. Чтобы узнать, что находится в этих томах, выполните
file -s /dev/sdb?
. Другая полезная команда для просмотра сводки доступных томов хранения - это lsblk
.
Если у вас действительно есть тома RAID, вам нужно собрать их с помощью mdadm -A
. Команда выглядит так, чтобы собрать двухдисковый том RAID:
mdadm -A /dev/md0 /dev/sdb1 /dev/sdc1
Затем, чтобы смонтировать его, используйте команду mount
для существующего каталога.
mkdir /media/md0
mount /dev/md0 /media/md0
(Выбор одного и того же имени для каталога в / media
и для устройства в / dev
- это просто соглашение.)
Может оказаться, что у вас есть, фактически, LVM томов. Если это так, запустите pvs
или pvdisplay
, чтобы увидеть список известных физических томов LVM (то есть разделов хранилища). Если томов, которые вы ищете, нет в списке, запустите pvscan
и повторите попытку. LVM - это уровень абстракции между томами хранения и контентом. Контент хранится в логических томах. Чтобы увидеть список логических томов, запустите lvs
или lvdisplay
. Это сообщит вам имена доступных логических томов (LV) и групп томов (VG), в которых они находятся. Чтобы подключить логический том LVM с именем mylv
в группе томов с именем myvg
, используйте
mount /dev/mapper/myvg-mylv /media/mylv
Эти сложности необходимы только в том случае, если разделы не содержат напрямую файловые системы. Чтобы смонтировать файловую систему в разделе, вам нужна только команда mount
и существующий каталог. С томами RAID и LVM все обычно выполняется автоматически во время загрузки, но это не касается съемных дисков.
Если разделы содержат файловые системы, usbmount
настраивает их так, чтобы они монтировались автоматически при вставке USB-накопителя.Однако я не думаю, что он может обрабатывать тома RAID или LVM.
Вас также может заинтересовать pmount
, который позволяет монтировать USB-накопители вручную пользователям без полномочий root.
Не забудьте все размонтировать перед отключением накопителя, иначе возможно повреждение данных.
Похоже, так и должно быть
"$(echo ${remote_serial} | jq '.serialNumber')"
вместо
"${remote_serial | jq '.serialNumber'}"
Не нужно усложнять. Просто возьмите JSON с удаленного хоста и передайте его через jq
, а затем сделайте то же самое локально. Тогда сравните. Если удаленный файл отсутствует, вы получите сообщение об ошибке (, которое мы можем сбросить ), и серийные номера будут сравниваться с разными (, если локальный серийный номер также отсутствует ).
r_serial=$( ssh -q -i "$pathToPem" "$sshUsernameIp" cat "$remote_serial" 2>/dev/null | jq -r '.serialNumber' )
l_serial=$( jq -r '.serialNumber' serialNumber.json )
if [ "$r_serial" = "$l_serial" ]; then
echo 'same'
else
echo 'different (or missing)'
fi
Предполагается, что $remote_serial
— это путь к документу JSON на удаленном компьютере.
Обратите также внимание на заключение в кавычки расширений переменных в вызове ssh
.
Фактическая ошибка, которую вы получаете, связана с тем, что
"${remote_serial | jq '.serialNumber'}"
не является допустимым расширением переменной. Возможно, вы хотели использовать что-то вроде
"$( printf '%s\n' "$remote_serial" | jq '.serialNumber' )"
, но это предполагает, что $remote_serial
содержит содержимое документа JSON.