rsync - cllu/.rc GitHub Wiki

Use a rsync rule file .rsync.rules to specify multiple sync filters

- __pycache__/
- *.pyc
- venv/

instead of -a(which equals -rlptgoD), we specify each flag explicitly

  • --delete, delete extraneous files from dest dirs
  • -vv, verbose
  • -r, recursive directory
  • -p, preserve permissions
  • -t, preserve times,
  • -g, preserve group, # DO NOT USE
  • -o, preserve owner, # DO NOT USE
  • -L, transform symlink into referent file/dir, since we share some common assets using symlink
  • --omit-dir-times, don't set modification times on directories
  • --progress, well the progress
$ rsync --delete -vv -rtL --progress --omit-dir-times -e ssh --filter='merge .rsync.rules' ./ server-name:/home/ubuntu/