kas*_*rus 9 linux unix rsync command-line ubuntu
我正在尝试在执行 rsync 后创建一个日志文本文件。我试过使用命令行:
rsync -av /source/ /dest/ > log.txt
Run Code Online (Sandbox Code Playgroud)
创建的文本文件仅显示源文件夹和目标文件夹之间“不同”的文件名,这与我想要的很接近。
有没有办法让我创建一个日志文件,将“不同”的文件分组到修改和创建的文件中?
小智 11
使用 --log-file 选项。
rsync -av /source/ /dest/ --log-file=mylog.log
Run Code Online (Sandbox Code Playgroud)
主要思想
对于任何现代 rsync都可以使用--info而不是-v,例如:
rsync --info=COPY2,DEL2,NAME2,BACKUP2,REMOVE2,SKIP2 -a source/ dest/ > log.txt
# or eventually with --log-file=mylog.txt
Run Code Online (Sandbox Code Playgroud)
一些额外的操作
结果输出/文件将类似于
file1.zip is uptodate
file2.odt
Dir1/
Dir1/file3.txt
Run Code Online (Sandbox Code Playgroud)
然后你可以grep用来过滤结果,例如用类似的东西
grep 'is uptodate' mylog.txt | sed 's/is uptodate//g' > Already_Uptodate.txt
grep -v 'is uptodate' mylog.txt > Updated_Now.txt
Run Code Online (Sandbox Code Playgroud)
在第一行中,我用 sed 删除了字符串 'is uptodate' 以获得更干净的输出。如果你有一个文件名为“这种开放的问题是UPTODATE ”当然:-)它以不同的方式进行处理...
多说几句
您可以为每个选项选择所需的信息和信息级别
在现代 中
rsync,该-v选项等效于 --info 和 --debug 选项组的设置。您可以选择使用这些较新的选项 来补充或代替使用
--verbose,因为任何细粒度的设置都会覆盖 的隐含设置-v。双方
--info并--debug有办法来寻求帮助,告诉你到底是什么标志在冗长每增加设置。
获得的列表rsync --info=help报告如下,而来自的列表rsync --debug=help根本没有报告:
Use OPT or OPT1 for level 1 output, OPT2 for level 2, etc.; OPT0 silences.
BACKUP Mention files backed up
COPY Mention files copied locally on the receiving side
DEL Mention deletions on the receiving side
FLIST Mention file-list receiving/sending (levels 1-2)
MISC Mention miscellaneous information (levels 1-2)
MOUNT Mention mounts that were found or skipped
NAME Mention 1) updated file/dir names, 2) unchanged names
PROGRESS Mention 1) per-file progress or 2) total transfer progress
REMOVE Mention files removed on the sending side
SKIP Mention files that are skipped due to options used
STATS Mention statistics at end of run (levels 1-3)
SYMSAFE Mention symlinks that are unsafe
ALL Set all --info options (e.g. all4)
NONE Silence all --info options (same as all0)
HELP Output this help message
Options added for each increase in verbose level:
1) COPY,DEL,FLIST,MISC,NAME,STATS,SYMSAFE
2) BACKUP,MISC2,MOUNT,NAME2,REMOVE,SKIP
Run Code Online (Sandbox Code Playgroud)
如果 rsync(客户端-服务器)不够现代,您必须v付出越来越多的努力。实际上,您可以使用-vv, -vvv,-vvvv每次增加冗长,但解析会更复杂。
只有在调试 rsync 时才应使用两个以上的 -v 选项
一个真正有用的讲座可能是man rsync在它谈到选项的部分-v,尤其是--info=FLAGS.
| 归档时间: |
|
| 查看次数: |
40933 次 |
| 最近记录: |