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
# 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
| Flag | What it does |
|---|---|
| -v | List transferred files plus a brief summary |
| -vv | Also list skipped (up-to-date) files |
| --stats | Print a file-transfer statistics block |
| --quiet / -q | Suppress non-error output |
| --itemize-changes / -i | Show 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.