ssh 명령어 쉘 스크립트 활용

익명 사용자의 이미지

안녕하세요. 초보적인 수준으로 단순 노가다 작업이 있을 때마다 코드를 이용해서 작업을 수행하는 학생입니다.

node로 로그인 이후, 쉘 스크립트가 진행이 안되는 현상으로 질문이 있어 올려봅니다.

"총 24개의 node가 있는 HPC에서 각 node 별로 scratch 폴더를 들어가서 작업을 하고자 합니다."

따라서 다음과 같은 쉘 스크립트를 작성했습니다.

#!/bin/bash
 
node="n001 n002 n003 n004 n005 n006 n007 n008 n009 n010 n011 n012 n013 n014 n015 n016 n017 n018 n019 n020 n021 n022 n023 n024"
 
for i in $node
do
	ssh ${i}
	cd /scratch
	rm -f Gau*
done

그랬더니

[etel@S-HPC ~]$ ./d
Last login: Fri Mar 11 15:16:37 2022 from n002.hpc
[etel@n001 ~]$ 

이렇게 1번 node에 로그인을 하고 멈추게 됩니다.

에러가 난 것은 아닌 것으로 보입니다.

어떻게 하면 로그인을 하고, 그 이후에도 쉘 스크립트를 진행할 수 있을까요?

peecky의 이미지

ssh ${i} -t 'cd /scratch && rm -f Gau*'

이렇게 하면 되지 않을까요?