원격 사이트에서 크기를 가져오는 데 필요한 경로가 포함된 약 40,000줄의 파일이 있습니다( rsh
& du -scL
명령 사용). 시도했지만 while read line
원격 연결로 인해 100줄 이상 지나면 종료됩니다. 그래서 모든 줄을 파일에 복사하여 du -scL
파일에 입력하려고 시도했지만 rsh
"명령이 너무 김"이라는 메시지가 표시되면서 다시 충돌이 발생했습니다. rsh
원격 사이트에 대한 모든 경로의 크기를 사용하고 계산하는 스크립트를 작성해야 합니다 du
.
#!bin/bash
for line in `cat $destbang1`
do
rsh vnc.<remotesite> du -sL $line | awk '{print $1}' >> /tmp/size1.txt
done
total=`gawk '{ sum += $1 }; END { print sum}' /tmp/size1.txt`
echo $total
답변1
충분히 낮은 숫자나 매개변수를 사용하여 xargs
여러 호출을 생성 할 수 있습니다.rsh
원격 및 로컬 제한이 동일하다고 가정합니다.
xargs --delimiter='\n' rsh /path/to/script.sh <lists.txt
답변2
rsh
단일 원격 셸을 사용하여 전체 프로세스를 실행할 수 있습니다 .
tr '\012' '\0' < "$destbang1" |
rsh vnc.remotesite du -sL --files0-from=- |
awk '{sum += $1} END {print sum}'
이를 위해서는 du
명령이 이 --files0-from
옵션을 이해하고 파일의 모든 파일 이름에 $deskbang1
줄 바꿈이 포함되어 있지 않아야 합니다.