Едва ли ответ, но это не соответствует комментарию из-за форматирования:
Что происходит, когда Вы делаете следующее:
cd /home/user/projects/buildroot
make clean
make distclean
Целевая система копии /proc/config.gz
размещать /tmp
Затем возьмите существующую конфигурацию ядра, и переводит его в новую версию ядра путем ответа на различный вопрос:
gunzip -c /tmp/config.gz ./.config
make oldconfig
Сделайте некоторую версию начинающего работу исправности:
make menuconfig
Создайте двоичные файлы
make
Проверьте версию созданного изображения ядра, не загружайте изображение ядра в нано для поиска строки, которая является плохой практикой.
file ./buildroot/output/images/*
Вы напрасно усложняете вещи. Просто попробуйте machineA и если это перестало работать, перейдите к machineB:
#!/usr/bin/env bash
set -e
readonly PATH_LOCATION=/testing/directory1
readonly MACHINES=(machineB machineC)
readonly FILE_LOCATION=/data/v1
readonly FILE_NAME=test.tar
readonly TARGET="$FILE_LOCATION/$FILE_NAME"
for MACHINE in ${MACHINES[@]}; do
scp david@$MACHINE:$TARGET $PATH_LOCATION && break
done
Если Вы хотите знать, с какого хоста Вы загрузили, Вы могли сделать:
for MACHINE in ${MACHINES[@]}; do
if scp david@$MACHINE:$TARGET $PATH_LOCATION; then
echo "Downloaded from $MACHINE";
break;
fi
done
И если Вы хотите сделать что-то еще, если никакая машина не возросла:
for MACHINE in ${MACHINES[@]}; do
if scp david@$MACHINE:$TARGET $PATH_LOCATION; then
echo "Downloaded from $MACHINE";
break;
fi
done
if [[ $? -eq 1 ]]; then
echo "Download failed"
fi
if ping -c 3 -W 1 hostA >/dev/null; then
SRV=hostA
elif ping -c 3 -W1 hostB >/dev/null; then
SRV=hostB
else
echo "cannot contact either hostA or hostB"
exit 1
fi
scp david@$SRV:$FILE_LOCATION/$FILE_NAME $PATH_LOCATION/.
RET=$?
echo "Return code is $RET"
...
scp
предпринятый, таким образом, это будет1
если оба machones снижаются. См. обновленный ответ для того, как сделать что-то, если это происходит. Также обратите внимание, что это не проверяет, возросла ли машина так, она также возвратит ту же ошибку, если она произошла, но удаленный файл не существует, например. – terdon♦ 26.01.2014, 22:26