команда find не печатает не обрезанные элементы

Вы можете поместить все ваши команды в отдельный скрипт на вашем "главном" сервере.

Основной сценарий

#!/bin/bash
rm -rf "Input Output Partition"
mkdir -p "EC2_WORKSPACE/$project Input Output Partition"

Затем в вашем ssh-скрипте назовите это так :SSH-скрипт

username="ubuntu"
masterHostname="myMaster"
while read line
do
ssh -n $username@$masterHostname "ssh -t -t $username@$line < /path/to/masterscript.sh"
ssh -n $username@$masterHostname "ssh -t -t $username@$line "rsync --delete -avzh /EC2_NFS/$project/* EC2_WORKSPACE/$project""
done < slaves.txt 

ИЛИ если все файлы должны быть на исходной машине, вы можете сделать что-то вроде этого:

сценарий1

script2="/path/to/script2"
username="ubuntu"
while read line; do
cat $script2 | ssh -t -t $username@line
done < slaves.txt

сценарий2

#!/bin/bash
rm -rf "Input Output Partition"
mkdir -p "EC2_WORKSPACE/$project Input Output Partition"
rsync --delete -avzh "/EC2_NFS/$project/* EC2_WORKSPACE/$project"

ssh-скрипт

script1="/path/to/script1"
username="ubuntu"
masterHostname="myMaster"
cat $script1 | ssh -n $username@$masterHostname
1
30.08.2019, 02:07
1 ответ

Предикат -pruneсокращает каталоги -, в этом случае -nameбудет соответствовать начальному каталогу .и, следовательно, удаляет все дерево.

То, что вы хотите сделать, это просто отменить совпадение -name:

find. -maxdepth 1 ! -name '.*'

или

find. -maxdepth 1 -not -name '.*'
4
27.01.2020, 23:17

Теги

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