Как скопировать файлы с других серверов, если локальная машина снижается

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

man ls > tem.txt

Даже если вы так используете замену процесса, не забудьте использовать цитаты, в противном случае вывод будет проходить расщепление + глобубинг из оболочки:

echo "$(man ls)" > tem.txt
0
02.04.2015, 21:00
2 ответа

Да. Он попытается скопировать с первого, если это произойдет, он попробует вторую, и если это тоже не удается, он попробует третий. Чтобы по электронной почте вам по электронной почте в конце, используйте это:

scp ... || scp ... || scp || echo "All attempts failed" | mailx -r "foo@bar.com"

, чтобы каждая команда SCP сообщила вам, если она не удалась, вы можете использовать SUBShells:

scp ... || (echo "machine1 down" | mailx -r "foo@bar.com"&& scp ... ) ||
( echo "machine2 down" | mailx -r "foo@bar.com" && scp ... ) || 
     echo "All attempts failed" | mailx -r "foo@bar.com"
1
28.01.2020, 02:36

То, что произойдет, будет основано на любых командах, которые вы скажете вашему скрипту выполнить. Я не мастер-кодер, но недавно у меня была похожая ситуация.

Я просто создал несколько переменных для возможных серверов, а затем использовал цикл для проверки соединения с этими IP, когда он обнаружит, что это работает, установите этот IP как используемый (FTPHOST) :

USER=имя пользователя

PASS=пароль

attempt1=your. first.server.ip

attempt2=your.second.server.ip

attempt3=your.third.server.ip

curl --connect-timeout 5 ftp://$USER:$PASS@$attempt1 >> /dev/null 2>&1;

if [ $? == '0' ];

then 

    FTPHOST=$attempt1; 

    echo "FTPHOST set to $FTPHOST"

else 

    echo "Connection to $attempt1 failed. Attempting next IP"; 

    curl --connect-timeout 5 ftp://$USER:$PASS@$attempt2 >> /dev/null 2>&1;

    if [ $? == '0' ];

        then

etc. etc.., повторите цикл для стольких IP, сколько у вас есть, пока он не обнаружит, что это работает. Если ничего не сработает, то, конечно, вы ничего не будете скачивать оттуда, так что заставьте ваш скрипт вести себя соответственно.

1
28.01.2020, 02:36

Теги

Похожие вопросы