As I can see rsync can't sync file if some of directories in file path doesn't exist. Why it doesn't create this directories with mkdir -p command? Maybe it has an option for that? -r option doesn't work in that case.

Edit
Report