Ваша проблема в следующем фрагменте кода:
ssh $node source /etc/profile.d/bkUp.sh;
asBackup -b /home/backup/esa/${node};
Это делает:
- Создать удаленную оболочку на
$node
- Выполнить команду
source /etc/profile.d/bkUp.sh
в удаленной оболочке - Закройте удаленную оболочку и забудьте обо всем, что сделано в этой оболочке !!
- Запустите
asBackup
на локальном хосте.
Это не то, что вы хотите.Измените его на:
ssh "$node" "source /etc/profile.d/bkUp.sh; asBackup -b '/home/backup/esa/${node}'"
Это делает:
- Создать удаленную оболочку на
$node
- Выполнить команду (и)
source /etc/profile.d/bkUp.sh; asBackup -b '/home/backup/esa/${node}'
на удаленный хост
Убедитесь, что /home/backup/esa/${node}
- это монтирование NFS (в противном случае файлы будут сохранены только в каталоге на хосте remote ).
Обратите внимание, что /etc/profile
очень плохое место для скриптов резервного копирования (или их конфигурации).Попробуйте переместить setup / config в /home/backup/esa
, который (или должен) использоваться всеми узлами кластера, поэтому изменение его в одном месте обновляет его везде сразу.
Также обратите внимание на использование кавычек:Одинарные и двойные кавычки гарантируют, что пробелы в переменной node
не вызовут неожиданных проблем.Конечно, очень маловероятно, что в «$ node» будут пробелы, но если они есть, сообщение об ошибке введет вас в заблуждение.
Поэтому всегда указывайте правильно.