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
하려면 이 옵션을 참조하세요.