rm -f 스크립트에서

rm -f 스크립트에서

이것은 내 스크립트입니다.

[root@hostname ~]# cat ontape.sh
#!/bin/bash
#

sshpass -p 'PASSWORD' ssh root@hostname mkdir -p /home/mybackup/ontape/$(date +%Y-%m-%d)

sshpass -p 'PASSWORD' ssh root@hostname mkdir -p /mybackup/ontape_tmp_backup/$(date +%Y-%m-%d)

for server in $(cat servers.txt)

do

 sshpass -p 'PASSWORD' scp /dbbackup/backupdb/ontape/fullsize/* $server/$(date +%Y-%m-%d)"

rm -f /dbbackup/backupdb/ontape/fullsize/* 

done

rm -f내가 겪고 있는 문제는 실행될 때 완료되자마자 실행되기 때문에 하나의 서버에만 복사된다는 것입니다 . 파일을 삭제하기 전에 두 서버에 복사하는 데 시간이 걸리도록 대기를 추가하는 방법이나 방법이 있습니까?

답변1

rm -f루프 바깥쪽에 줄을 넣으 십시오 .

답변2

rm -f루프가 완료되고 파일이 모든 서버에 복사되면 디렉터리가 비워지도록 이 줄 뒤로 이동하여 done(스크립트의 마지막 줄이 되도록) 됩니다 .

관련 정보