Rsync – Itemize Output Codes


This post was originally published in 2010
It may contain stale & outdated information. Or it may have grown more awesome with age, like the author.

I use rsync to manage backups between two servers separated by more than 12,000 kilometers. It works very well.

I have the machines email me the output of the backup process, so I can easily check to ensure the backup succeeded with no problems. I try to go through the most recent email at least once a week, to make sure nothing went wrong with the backup. To get more information about the backup process and what rsync did for each file, I run it with the `-i`, or `–itemize-changes` flag.

To quote from rsync’s man:

Requests a simple itemized list of the changes that are being made to each file, including attribute changes.

As helpful as man is, what I really need is a simple cheat-sheet so I can quickly lookup the different `-i` codes to check what they mean.

Here it is:

For format ‘YXcstpoguax’

YXcstpoguax    The type of update being done:

    <    File is being transferred to remove host ( sent )
    >    File is being transferred to local host ( received )
    c    A local change is occurring ( e.g. creating a directory, symlink )
    h    Item is a hard link to another item ( requires –hard-links )
    .    Item is not being updated, though it may have attributes being modified )
    *    The rest of the itemized-output area contains a message ( e.g. ‘deleting’ )

YXcstpoguax    File type:

    f    File
    d    Directory
    L    Symlink
    D    Device
    S    Special file


    c    Either that a regular file has a different checksum (requires –checksum)
         or that a symlink, device, or special file has a changed value.
    s    Size of a regular file is different and will be updated by the file transfer
    t    Modification time is different and is being updated to the sender’s time
    p    Permissions are different and are being updated to the sender’s value
    o    Owner is different and is being updated to the sender’s value
    g    Group is different and is being updated to the sender’s value
    u    Reserved for future use
    a    ACL information changed
    x    Extended attribute information changed

I don’t know about you, but I find that easier to quickly scan and find the code I’m looking for.

No comments | Trackback