Skip to content
Latchkey

rsync -v: Verbose Output and Logging in CI

rsync -v lists the files transferred so you can confirm what a deploy actually changed.

In CI you want enough output to debug a deploy without drowning the log. -v plus --stats is usually the right balance.

What it does

Each -v raises the verbosity. One -v prints the names of files being transferred and a short summary. A second -v (-vv) adds files that are skipped because they are up to date. A third (-vvv) is debug-level and rarely useful in CI. For machine-readable output, prefer --stats and --info over stacking -v.

Common usage

Terminal
# Show transferred files plus a summary
rsync -av --stats dist/ user@host:/var/www/

# Quiet the noise, keep only the summary numbers
rsync -a --stats dist/ user@host:/var/www/

Verbosity options

FlagWhat it does
-vList transferred files plus a brief summary
-vvAlso list skipped (up-to-date) files
--statsPrint a file-transfer statistics block
--quiet / -qSuppress non-error output
--itemize-changes / -iShow a per-file change summary (YXcstpoguax)

In CI

For a large tree, a full -v floods the log with thousands of lines. Use -i / --itemize-changes instead: it prints a compact code per file (for example ">f+++++++++" for a new file) so you can see exactly what changed without paging through every path.

Common errors in CI

There is no error specific to -v, but note that -v does not change exit codes. A run can print "sent X bytes" and still exit non-zero if some files failed; always check the exit code, not just the log tail. See rsync exit codes 23 and 12.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →