원격 서버 A에서 서버 B로 파일을 전송해야 하지만(터미널(퍼티)을 사용하여 B에 로그인) 이 작업을 백그라운드에서도 수행해야 합니다(터미널을 닫고 나갈 수 있도록). 내가 시도한 것은 putty를 사용하여 대상 컴퓨터 B에 로그인하고 rsync 명령을 실행하는 것입니다.
rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/
하지만 퍼티를 닫으면 프로세스도 중단됩니다.
답변1
화면은 어떻습니까?
screen - VT100/ANSI 터미널 에뮬레이션이 포함된 화면 관리자
화면이 있는 터미널을 엽니다.
명령을 실행하려면 터미널을 닫으면 됩니다.
필요한 경우 다시 연결할 수 있습니다.
답변2
이러한 작업에 대한 기본 선택은 오래되었습니다.nohup 명령명령 앞에 ; nohup
접두사가 있으면 터미널을 닫은 후에도 명령이 계속됩니다.
nohup rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/
rsync가 완료되기 전에 창을 닫으면 해당 출력의 나머지 부분이 nohup.out
rsync를 시작한 디렉터리에 지정된 파일에 기록됩니다.
그러나 rsync를 시작한 후 로그아웃하기 전에 다른 작업을 수행하려면 &
명령줄 끝에 추가하여 백그라운드에서 실행되도록 하세요. 이 경우 rsync가 후속 명령을 방해하는 출력을 내보내므로 해당 출력도 파일로 리디렉션해야 합니다.
nohup rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/ > rsync.log 2>&1 &