2009-07-10 3 views
0

Мне нужно использовать scp update some directory на другом сервере. Это похоже наКак использовать шаблон сценария поиска сценариев удаленно

for i in /usr/some/???/unknown/dir 
do 
cp /usr/some/file $i 
done 

так как я могу выполнить поиск, пока целевые каталоги находятся на другом сервере?

спасибо

ответ

0

Если у вас есть доступ к оболочке на удаленном сервере, создать список каталогов удаленно (с помощью поиска или Ls, или все, что вы хотите использовать в сценарии оболочки), а затем скопировать его обратно к системе, из которой вы копируете. Затем вы можете использовать

for d in file_of_remote_dirs; do 
    scp /usr/some/file remote_machine:d; 
done 
4

Все забывают обрабатывать пробелы в именах файлов: P

Для повторное использование Пример LB:

OLD_IFS=$IFS 
IFS=$\'n' 
for i in `ssh [email protected] find /usr/some -type d -name dir` 
do 
    scp [email protected]:"/usr/some/dir/$i" . 
done 
IFS=$OLD_IFS 

Это будет цикл над каждой строкой вывода вместо каждого слова (и цитируется $ i).

+0

да, вы правы ... я всегда забываю ... но я всегда говорю, что пробелы в именах файлов злы ... :-) – LB40

Смежные вопросы