rsync는 정보를 파일에 동기화합니다.

rsync는 정보를 파일에 동기화합니다.

rsync를 사용하여 한 서버에서 다른 서버로 데이터를 백업합니다. 이것은 훌륭하게 작동합니다.

rsync -aktvu -e 'ssh -p 22' --modify-window=1 --progress $SOURCE $USER@$SERVER:$DESTINATION

출력에는 복사된 내용이 표시됩니다.

building file list ...
11 files to consider
./
server/

server/myfile.txt
        3152 100%    0.00kB/s    0:00:00 (xfer#1, to-check=8/11)
server/test/
server/test/logfile01
        8266 100%    7.88MB/s    0:00:00 (xfer#2, to-check=6/11)
server/test/logfile07
       41004 100%   39.10MB/s    0:00:00 (xfer#3, to-check=5/11)
server/test/logfile08
         318 100%  310.55kB/s    0:00:00 (xfer#4, to-check=4/11)
server/test/logfile09
        8262 100%    7.88MB/s    0:00:00 (xfer#5, to-check=3/11)
server/test/logfile30
       40325 100%   12.82MB/s    0:00:00 (xfer#6, to-check=2/11)
server/test/logfile31
         792 100%  193.36kB/s    0:00:00 (xfer#7, to-check=1/11)
server/test/logfile32
        3152 100%  769.53kB/s    0:00:00 (xfer#8, to-check=0/11)

sent 105902 bytes  received 214 bytes  14148.80 bytes/sec
total size is 105271  speedup is 0.99

이 출력을 가져와서 참조용으로 파일에 저장하고 싶습니다. 그래서 나는 이것을 시도했다.

test_output=$(rsync -aktvu -e 'ssh -p 22' --modify-window=1 --progress $SOURCE $USER@$SERVER:$DESTINATION)

getscript() {
   pgrep -lf ".[ /]$1( |\$)"
}

getscript "sync.sh" >/dev/null && echo "sync.sh" $test_output >> outputfile.txt;

잘 작동하지만 출력은 모두 한 줄에 있습니다. 위와 같이 잘 들여쓰기가 되지 않습니다. 들여쓰기가 잘 되도록 어떻게 출력할 수 있나요?

ㅋㅋㅋ

답변1

man rsync출력을 로그 파일에 기록하는 옵션이 나타납니다.

--log-file=FILE 이 옵션은 rsync 해당 작업을 파일에 기록합니다. 이는 데몬이 수행하는 로깅과 유사하지만 데몬이 아닌 사람이 전송하는 클라이언트 및/또는 서버측 요청에 대한 것일 수 있습니다. 클라이언트 옵션으로 지정된 경우 이 옵션을 "%i %n%L"재정의 --log-file-format하려면 이 옵션을 참조하세요.

관련 정보