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;

它工作得很好,但输出全部在一行上。它不像上面那样很好地缩进。我怎样才能输出它以便它能很好地缩进?

tks

答案1

man rsync将显示将输出记录到日志文件的选项:

--log-file=FILE 此选项会将 rsync 其所做的操作记录到文件中。这类似于守护程序所做的日志记录,但可以为非守护程序传输的客户端和/或服务器端请求。如果指定为客户端选项,则将以默认格式"%i %n%L".--log-file-format如果您想覆盖此选项,请参阅该选项。

相关内容